Microsoft Exchange by default uses Rich Text Format to send all outbound mail. In some cases you may be forced to use plain text to send mail to some recipients which have trouble reading the rich text format. A common problem an administrator may experience is that some mail recipients receive the dredded winmail.dat attachment from users within their Exchange organisation.
This article will advise step by step instructions to force an Exchange 2007 server to send outbound mail on a per recipient and per E-Mail domain basis.
Forcing Exchange 2007 to send plain text on a domain level basis
This method requires you to create a new remote domain entry and use shell commands to configure the format Exchange will use when sending outbound mail to this domain only.
Create the Remote Domain:
1. Open the Exchange Management Console. Under “Organisation Configuration” container click “Hub Transport”.
2. Select the “Remote Domains” Tab and on th right under the actions pane click the “New remote domain” link.
3. Give the connector a name and enter the domain name you would like to send plan text to. e.g. domain.com. Click new then click finish.
4. Open the properties of the remove domain you just created and click the “format of original message sent as attachment to journal report” tab.
5. Under “Exchange rich-text format” select the “Never use” bullet point.
At this point you would assume that all outbound mail to this remote domain will be forced to be sent in plain text format but we need to perform some shell commands to the remote domain object before this can happen.
Apply the shell commands to the remote domain:
1. Open the shell and type “Get-RemoteDomain –Identity:domain.com | fl” where domain.com is the name of the remote domain object (not the actual remote domain name).
Here you will notice under “Content Type” the format is set to “MimeHTMLText”. To force plain text we want to set this as MimeText so HTML is not used.
2. In the shell prompt type “Set-RemoteDomain –Identity:domain.com -ContentType:MimeText” again where doman.com is the name of the remote domain. Typing the Get-RemoteDomain command will verify that the changes have been made and set the “Content Type” to MimeText.
Once these changes have been successfully completed the Exchange server will force the format as plain text regardless what is set on the end users outlook clien to any recipient in the “domain.com” E-Mail domain set in the “remote domain” object.
Forcing Exchange 2007 to send plain text on a recipient level basis
There may be a case where you need to have mail to 1 recipient in an E-Mail domain only sent as plain text. To do this you must create a contact item for this user and apply some shell commands to it.
1. Open the “Exchange Management Console”, select “Recipient Configuration” container then select the “Mail Contact” container.
2. Create a new contact for the remote recipient you was Exchange to for plain text format to.
3. Open the properties of the newly created contact. On the General tab under “Use MAPI rich text format” select “Never”.
We now need to apply the following shell commands to the newly created contact object to force plain text format.
1. In the shell prompt type “Get-MailContact -Identity “contact name” |fl” where “contact name” is the display name of the newly created contact object. You will see that “Message Format” is Mime and “Message Body” Format is TextAndHtml. We need to change both of these to Text to force the use of plain text format.
2. To change these we need to type the following 3 shell commands after the other:
Set-MailContact -Identity “contact name” -MessageBodyFormat:Text
Set-MailContact -Identity “contact name” -MessageFormat:Text
Set-MailContact -Identity “contact name” -UsePreferMessageFormat:$true
Once this is done you will see that by typing the Get-MailContactl show both “Message For” and “Message Body” will be set to text.
Now all mail sent through your Exchange server to the recipient contact you created will be set as plain text and will not affect any other recipient in the same domain.