<:How to fix Outlook 2003's missing Message-ID header using Exim>

Ever replied on a mailing list to someone who's using Microsoft's Outlook 2003 and found your message outside of the threaded view? That's because you can't set a In-Reply-To header for that person: There's no Message-ID to refer to! And you know what? It's actually considered a feature.

When sending a mail to a non-Exchange server, Outlook will not set a Message-ID because <>. No, I'm not the first one <> <> <>.

Okay, whatever, Microsoft is out of their minds as always, what do we do to fix their insanity? Well, if you run an <>, you can add this nifty little bit into your DATA ACL:

warn    condition       = ${if !def:h_Message-ID: {yes}{no}}
        message         = Adding Message-ID header because it is missing!
        add_header      = Message-ID: <GENERATED-WASMISSING-$message_exim_id@$primary_hostname>

You need Exim 4.62 or higher for the "add_header" command, but you can <> as well. Greetings to the guy that made me implement this. ;)