Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

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.

share|improve this question

2 Answers 2

up vote 0 down vote accepted

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.

share|improve this answer
    
this is the answer I was searching for! –  F12 Jun 6 '12 at 14:56

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.

share|improve this answer
    
The messages are not frozen by exim, they are in quarantine by Mailscanner (false positive). –  F12 Jun 6 '12 at 6:50

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.