We have hit a problem previously reported to this list by Frank Richter on
Sept 27 last year. It affects users of Cyrus with Exim (and possibly some
other MTAs).
Messages generated by Cyrus's lmtpd (e.g. as the result of a sieve vacation
or reject rule) are created with CRLF as line terminators and piped to the
mail program (by default sendmail, which in our case is actually
exim). Messages presented to sendmail in this way should, I think,
conform to the Unix conventions for line termination rather than those for
SMTP, and therefore not contain CR characters.
When sent to exim the result is a garbled message with a blank line in the
middle of the headers and other anomalies.
A workaround for us is to change the Cyrus source to use exim's -dropcr
option which is documented in the manual as follows ...
-dropcr option
At least one MUA (dtmail) that calls an MTA via the command line is broken
in that it terminates each line with CRLF, instead of just LF, which is the
usual Unix convention, and although this bug has been admitted, it
apparently won't get fixed. There is also some UUCP software which leaves
CR at the ends of lines in messages. As a slight pander to these programs,
the `-dropcr' option causes Exim to drop all CR characters in an incoming
non-SMTP message.
This suggests that exim's author, at least, would consider Cyrus to be
broken in this respect!
Would it be possible to change lmptd to generate such messages with LF only
as the line terminator?