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:
Update the number to reflect the new number of characters and you should be fine.