Cyrus, Qmail's Sendmail replacement, sieve and local mail injection
CRLF problem
John Wade
jwade at oakton.edu
Thu Sep 30 01:27:33 EDT 2004
Hi Info-Cyrus List Junkies,
We may be the last people on the planet using qmail as an MTA with Cyrus
on Linux (current 2.2.3 from Simon's RPM with some custom patches on
RedHat EL3.0. Thanks Simon!) I keep looking at other MTA's but we have
lots of qmail experience, and it has been rock solid with no security
issues. Performance has also been fine even with all the additional
overhead of not using lmtp. (I sure wish single instance store was
usable however.)
In the past have worked through a number of issues, including the sieve
return address problem (qmail does not like the "<>" address Cyrus uses
for sieve generated messages) and if anyone is interested, I could
provide tips and info about what we do to have them coexist. We have
been using this combo since Cyrus 1.6.
Everything works beautifully except for one known problem. Cyrus's
internal mail storage format has line break of CR/LF just like SMTP.
Qmail expects that any mail injected locally via qmail-inject or its
sendmail replacement (which is just a wrapper around qmail-inject) will
have LF line breaks only. Cyrus's sieve processing calls qmail's
sendmail replacement in lmtpd.c and injects mail in the CRLF format
which then causes qmail to corrupt the messages as it sends them
outbound presumably by adding extra CR's.
The messages that emerge are not RFC compliant. Fortuantely, many MTA's
accept them and fix the problem and many mail clients correctly display
unfixed messages. Unfortunately, MS Outlook and Exchange server do
not. Since this affects line breaks in the headers that Cyrus
creates, the message often appear to the recipient with no apparent
headers at all. AOL also rejects the messages at the MTA level.
It was a simple fix to hack lmtpd.c to fix all of the header issues by
switching CRLF's to LF's, but I still would have to parse every buffer
that cyrus uses to create messages to make the forward and autoreply
features work correctly and produce truly RFC compliant messages.
Before I either hack Cyrus further, or more likely go after qmail, has
anyone else solved this problem? Is anyone else aware of this
problem? Does anyone care? :-)
Thanks in advance,
John
----------------------------------------
John Wade
Director of Systems and Network Services
Oakton Community College
Des Plaines, IL
---
Cyrus Home Page: http://asg.web.cmu.edu/cyrus
Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
More information about the Info-cyrus
mailing list