Exchange 2003 SP2 and UUENCODE attachments
We got lots of complains about weird and garbled attachments after installing SP2, with gibberish text appearing in the message body. Yes, SP2 does change the way certain uuencode message are now rendered to the client. It's even worth noting that this change is not entirely new, and was also included in Exchange 2000 since the April 2004 rollup, and Exchange 2003 post SP1 hotfixes. The first thing you could use to identify this issue, is that the message contains both a "MIME Version" header, and the body of the messag starts with the word "BEGIN"
In Exchange 2003 SP2 and recent rollup builds of Exchange 2000, when a uuencode message is incorrectly tagged with a MIME version header, then the uuencode text is treated as MIME. therefore, the text shows in the body of the message as garbled. In essence, the message is combining two different internet body formats by combining a MIME version 1.0 header within a UUENCODED message. Basically, both standards (MIME and UUENCODE) cannot be combined in the same message.
The word UUENCODE is derived from “Unix to Unix encoding”. A UUENCODED message can be identified by the first word in the message “BEGIN” .
e.g BEGIN <mode> <file>
The <mode> is the file's read/write/execute permissions as three octal digits, and <file> output name to write the decoded data.
The “MIME Version 1.0” header on the other hand, usually identifies that a message is a MIME (Multipurpose Internet Mail Extensions) message, and in compliance with RFC 2045.
e.g version := "MIME-Version" ":" 1*DIGIT "." 1*DIGIT
To lend some more history to this change. In the past, Exchange erroneously treated normal MIME messages that started with the word "BEGIN'
as UUENCODED messages, thus resulting in normal textual messages appearing as attachments.
For example, if you composed a message as such:
From: John@foobar.com
To: Jane@foo.net
Subject: This is a test
Begin please acknowledge receipt of this message
Below is a sample UUENCODE message that also has a MIME Version 1.0 header
Date: Fri, 2 Dec 2005 14:21:33 +1100 (EDT)
John Doe <JohnDoe@contoso.com>
Message-Id: <200512020321.server.domain.com>
To: Jane Doe@foo.com
Subject: View the attachment
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Return-Path: JohnDoe@contoso.com
X-OriginalArrivalTime: 02 Dec 2005 03:21:31.0901 (UTC) FILETIME=[7DDA6AD0:01C5F6EF]
Here is your attachment report
begin 664 02122005142133.txt
M:6-L;W)P+G`@92L@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
M("`@(#,N-BXV($EN=F5N=&]R>2!$971A:6P@8GD@3&]C871I;VX@("`@("`@
M("`@("`@("`@("`@("`@("`@("`@("`@("`@($1A=&4Z(#`R+S$R+S`U#0I0
M86P-"E-I=&4@("`@($QO8V%T:6]N($ET96T@3G5M8F5R("`@("`@("!2968@
M("`@("`@("`@("`@("`@54T@(%%T>2!/;B!(86YD($-R96%T960@($5X<&ER
M92`@($%S<V%Y("4@1W)A9&4@4W1A='5S("`@079A:6P@3F5T($]V<DES#0HM
M+2TM+2TM+2`M+2TM+2TM+2`M+2TM+2TM+2TM+2TM+2TM+2T@+2TM+2TM+2TM
M+2TM+2TM+2TM("TM("TM+2TM+2TM+2TM+2`M+2TM+2TM+2`M+2TM+2TM+2`M
M+2TM+2TM("TM+2TM("TM+2TM+2TM("TM+2TM("TM+2`M+2TM+0T*,C`P,"`@
M("`@1C`P,2`@("`@,3`P,#`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
M("`@("!%02`@("`@("`@+3$X+C`@,#(O,#<O,#`@("`@("`@("`@("`P+C`P
=("`@("`@("`@("`@("`@($)A=&-H($E$.@T*#!H@
`
end
The solution here is to configure the non-Exchange server (usually UNIX) sending to Exchange, not to add the "MIME Version" header to UUENCODE message, or alternatively configure to send pure MIME messages to Exchange.
See http://www.ietf.org/rfc/rfc2045.txt and http://support.microsoft.com/default.aspx?scid=kb;en-us;836555