Edit exim4 Message-ID for releasing blocked mail by Mailscanner

emaileximmailscanner

Our sysadmin team edits the field Message-ID in exim4 header files (ending with -H) and substitues the first char after "<".

e.g:

077I Message-ID: <3D945239009B2549BFAE372F090AE90984E0882E7F@example.tld>

–>

077I Message-ID: <2D945239009B2549BFAE372F090AE90984E0882E7F@example.tld>

I'd like to write a script to release the mails. I changed the part between "<" and "@" in the field Message-ID and substituted a hash value so the Message-ID looks like:

077I Message-ID: <60decadf5f1da96ebb0d28a05def749be8303ad1@example.tld>

Now exim says "format error" in the log and the mail is not released. There was no change except for this one field.

Why can't the ID be substituted like that? Does it need to be the exact same length? It's exim4 version 4.69-2ubuntu0.3.

Best Answer

See the "077I" at the start of the line? The "I" is a header flag, you shouldn't be changing that. But the "077" is the number of bytes in that header. Since you are changing the number of characters without changing the count, Exim sees it as a format error.

From http://exim.org/exim-html-current/doc/html/spec_html/ch55.html:

A header may occupy several lines of the file, and to save effort when reading it in, each header is preceded by a number and an identifying character. The number is the number of characters in the header, including any embedded newlines and the terminating newline.

Update the number to reflect the new number of characters and you should be fine.

Related Topic