I have spent a substantial amount of spare time over the past few days trying to track down why any replied email from a Hotmail user shows as a blank email in my webmail (using Roundcube), and corrupted in Mulberry (regardless of platform).

The symptoms are quite simple:

  • Emails sent from a Hotmail account as anything except text/plain are either corrupted, or blank.
  • Further investigation shows the header is corrupted, usually with the ‘X-OriginalArrivalTime:’ header inserted at random places (although usually in the ‘References:’ block) followed by two CRs (signifying end-of-header). This now means that the header forms part of the body which on a multipart email will render it corrupt and useless.
  • Use of Spamassassin, etc. compounds the problem when it inserts its own headers, giving an erroneous impression of what’s wrong.

This means if you are using Hotmail to send email, there’s a good chance the recipient won’t be able to read it unless they are using a Microsoft mail reader (eg. Outlook) or Hotmail itself.

You can see a typical header here (sensitive information redacted for confidentiality):

References: <BLU140-W710CB868557ABFA6D8D1FD2D20@phx.gbl>
X-OriginalArrivalTime: 13 Oct 2009 13:42:21.0449 (UTC) FILETIME=[FD2D9F90:01CA4C0A]
X-SA-Exim-Mail-From: xxxxxxxxx@hotmail.com
X-SA-Exim-Scanned: No (on foxy.wrenthorpe.net); SAEximRunCond expanded to false

MIME-Version: 1.0

Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Hi Joel=2C

What’s important to note here is the corruption of the ‘References’ line. I was fooled into thinking it was a SpamAssassin issue by the presence of the ‘X-SA-Exim’ lines, however these are a byproduct of the corruption itself. What has actually happened is that Hotmail has inserted an ‘X-OriginalArrivalTime’ line followed by two CRs, SpamAssassin has then thought ‘oh this is the end of the header’ and appended its own lines, effectively chopping up the header before the ‘MIME-Version’ line is reached.

The end result of all this is that standards-compliant mailers such as Roundcube, Squirrelmail and Mulberry show the message as corrupted, and this is exacerbated when anything at all touches the headers en-route. Outlook and Exchange both show the message OK, so I can see how this might have got past the Hotmail guys (who presumably have to solely use Windows nowadays).

Microsoft themselves seem to have acknowledged the problem in this support ticket from Windows Live, although goodness knows when there’ll be a fix. If it continues past a few days I’ll see if I can craft a rule to mangle the email back into a sensible format because it’s causing no end of fun issues for maillists I participate in.

Thanks to Hotmail user ess-jay, who was very patient in trying lots of different things when I was attempting to track this down.