1

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: <[email protected]>

-->

077I Message-ID: <[email protected]>

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: <[email protected]>

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.

2 Answers 2

0

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.

1
  • this is the answer I was searching for!
    – F12
    Jun 6, 2012 at 14:56
0

I would be surprised if your sysadmin team are mangling message-ids.

To release a frozen email you merely need to run exim with the -M option. This takes a list of exim message ids as shown by the mailq command. You can also get the message id by removing the -H from the header file name.

1
  • The messages are not frozen by exim, they are in quarantine by Mailscanner (false positive).
    – F12
    Jun 6, 2012 at 6:50

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .