Installing Internet Mail Service Extension
To install Internet Mail Service Extension (Imsext.dll):
- To copy Internet Mail Service Extension to your server, do one of the following:
- Register Internet Mail Service Extension by typing the following at the command prompt:
regsvr32 imsext.dll
- To enable Internet Mail Service Extension in Exchange Server 5.5 Service Pack 1 or later without losing routing table capability, you need to create a registry value:NOTE: Microsoft recommends the following method to enable Internet Mail Service Extension.
WARNING: If you use Registry Editor incorrectly, you may cause serious problems that may
require you to reinstall your operating system. Microsoft cannot guarantee that you can solve
problems that result from using Registry Editor incorrectly. Use Registry Editor at your own
risk.
- Start Registry Editor (Regedt32.exe).
- Locate the following key in the registry:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIMC\Parameters
- On the Edit menu, click Add Value, and then add the following registry value:
Value Name: NonRoutingExtensionDll
Data Type: REG_SZ
String Value: The full path of the Internet Mail Service Extension utility DLL
You can also enable Internet Mail Service Extension in the Exchange Server Administrator program by opening the Internet Mail Service properties, clicking the Routing tab, and then selecting Internet Mail Service Extension as the custom routing program. IMPORTANT: Microsoft does not recommend this method. You will lose routing table capability.
- Create an Extension registry key:
- Locate the following key in the registry:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIMC\Parameters
- On the Edit menu, click Add Key, and then type Extension.
- Quit Registry Editor.
Internet Mail Service Extension Message Journaling Capabilities
The Internet Mail Service Extension supports the following message journaling capabilities:
- Inbound journaling
- Outbound journaling
- Per-recipient journaling
Inbound Journaling
To journal inbound Simple Mail Transfer Protocol (SMTP) e-mail:
- Create an InboundJournal registry value:
- Start Registry Editor (Regedt32.exe).
- Locate the following key in the registry:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIMC\Parameters\Extension
- On the Edit menu, click Add Value, and then add the following registry value:
Value Name: InboundJournal
Data Type: REG_SZ
String Value: The e-mail address to which you want the journal e-mail delivered.
- If you enable inbound journaling, you must also create an InboundJournalNDR registry value:
- Locate the following key in the registry:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIMC\Parameters\Extension
- On the Edit menu, click Add Value, and then add the following registry value:
Value Name: InboundJournalNDR
Data Type: REG_SZ
String Value: The e-mail address to which you want non-delivery reports (NDRs) that are generated by journaled inbound e-mail delivered.
- Quit Registry Editor.
- Remove the SMTP addresses of the e-mail addresses that you used in the InboundJournal and InboundJournalNDR values and hide the objects from the Address Book. If possible, these recipients should be located on the same server that Internet Mail Service Extension is located on.
Outbound Journaling
To journal outbound Simple Mail Transfer Protocol (SMTP) e-mail:
- Create an OutboundJournal registry value:
- Start Registry Editor (Regedt32.exe).
- Locate the following key in the registry:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIMC\Parameters\Extension
- On the Edit menu, click Add Value, and then add the following registry value:
Value Name: OutboundJournal
Data Type: REG_SZ
String Value: The e-mail address to which you want the journal e-mail delivered.
- If you enable outbound journaling, you must also create an OutboundJournalNDR registry value:
- Locate the following key in the registry:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIMC\Parameters\Extension
- On the Edit menu, click Add Value, and then add the following registry value:
Value Name: OutboundJournalNDR
Data Type: REG_SZ
String Value: The e-mail address to which you want NDRs that are generated by journaled outbound e-mail delivered.
- Quit Registry Editor.
- Remove the SMTP addresses of the e-mail addresses that you used in the OutboundJournal and OutboundJournalNDR values and hide the objects from the Address Book. If possible, these recipients should be located on the same server that Internet Mail Service Extension is located on.
Per-Recipient Journaling
If you enable inbound journaling and outbound journaling, all inbound and outbound e-mail messages are journaled, respectively. If you want to journal based on recipient, you can enable per-recipient journaling. This allows you to specify the journal address on a per-recipient basis. For example, this feature is useful when you send a copy of a user's SMTP e-mail to the user's branch manager. As with inbound journaling and outbound journaling, you can set per-recipient journaling for each direction: inbound and outbound.
To enable per-recipient journaling:
- Specify a property on the recipient that contains the journal address. You can use the Custom Attributes property page of the recipient to do this. As with the InboundJournal and OutboundJournal values, Microsoft recommends that you set the recipient's custom attribute to a distribution list.
- Secure the mailboxes that are contained in that distribution list (as well as the distribution list itself) by removing the SMTP address and hiding the objects from the Address Book.
- After you decide the recipient property that you want to use to store the journal address, create a registry value:
- Start Registry Editor (Regedt32.exe).
- Locate the following key in the registry:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIMC\Parameters\Extension
- On the Edit menu, click Add Value, and then add the following registry value:
Value Name: InboundRecipJournalProp (or OutboundRecipJournalProp for outbound journaling)
Data Type: REG_DWORD
Radix: Hexadecimal
Value: The property that you chose.
For example, custom attribute 10 is value 0x8036. This must be specified as the high word of the InboundRecipJournalProp value with a low word of 0. Therefore, the value of the InboundRecipJournalProp value in this example is 0x80360000. You can find the values of the custom attributes in the Emsabtag.h file in the VC\Include folder.
- If you enable per-recipient inbound journaling (or per-recipient outbound journaling), you must also create an InboundJournalNDR registry value (or an OutboundJournalNDR value for per-recipient outbound journaling):
- Locate the following key in the registry:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIMC\Parameters\Extension
- On the Edit menu, click Add Value, and then add the following registry value:
Value Name: InboundJournalNDR (or OutboundJournalNDR, as applicable)
Data Type: REG_SZ
String Value: The e-mail address to which you want NDRs that are generated by journaled inbound mail (or outbound mail for per-recipient outbound journaling) delivered.
- Quit Registry Editor.
- Remove the SMTP addresses of the e-mail addresses that you used in the InboundRecipJournalProp and InboundJournalNDR values (or the OutboundRecipJournalProp and OutoundJournalNDR values, as applicable) and hide the objects from the Address Book. If possible, these recipients should be located on the same server that Internet Mail Service Extension is located on.
Journaling Tips
Microsoft recommends that you use a distribution list as the e-mail address that you enter in the registry. This allows you to add multiple recipients to the journal and makes it easy to modify the recipients. Also remove the SMTP address, so that the mailbox cannot be attacked from outside your system, and hide the address from the Address Book so that the address is difficult to attack from inside your system. Then you can set the address to the X.500 address of the distribution list.
You can set the
InboundJournal and
OutboundJournal values to the same value. If you do this, all inbound and outbound SMTP e-mail journal mail is delivered to the same location.
You can also use per-recipient journaling in conjunction with inbound journaling and outbound journaling. You can also set the
InboundRecipJournalProp and
OutboundRecipJournalProp values to the same value. If you do this, both inbound and outbound per-recipient journal mail is delivered to the same location.