How to get every message (even a malformed one) onto Cyrus imapd?

Scott Lambert lambert at lambertfam.org
Fri May 29 12:41:35 EDT 2015


On Fri, May 29, 2015 at 09:11:23AM +0200, Rudy Gevaert wrote:
> 
> Quoting Vincent Fox <vbfox at ucdavis.edu>, Thu, 28 May 2015:
> 
> > On 05/28/2015 10:05 AM, Recursive wrote:
> >> This means that these messages well-formed enough for GMX to accept  
> >> them, but are so malformed that cyrus lmtp / imapd rejects them.
> > I can give an example of a related problem.
> >
> > We use sendmail as our MTA, delivering via LMTP to Cyrus.
> > The LMTP delivery module on Sendmail defaults to allowing
> > lines longer than specification.  Cyrus accepts them.
> 
> Strangely enough I hit this same problem yesterday.  While migrating a  
> mailbox from Cyrus to Exchange through imapsync, some messages where  
> not copied.  The reasons was also that the message had longer lines  
> than the RFC allows.
> 
> There is a setting in Exchange that limits the max length of a  
> command. (Or something like that) And the default value is 10240  
> bytes.  Increasing that helps somewhat, but messages can have longer  
> lines.
> 
> In my case I was helped by using the latest version of imapsync.  In  
> the options you can pass a command to run on every message that has  
> longer lines.  In this case by using 'reformime -r7' (maildrop package  
> on Debian), http://www.courier-mta.org/reformime.html)
> 
> 
> I'm using here postfix that does lmtp delivery, so I'm surprised  
> postfix doesn't get around it.


Are you using these postfix options? ( http://www.postfix.org/postconf.5.html )

The postfix options may break mime. I don't know.

lmtp_line_length_limit (default: 990)
The LMTP-specific version of the smtp_line_length_limit configuration parameter. See there for details.

This feature is available in Postfix 2.3 and later.

smtp_line_length_limit (default: 998)
The maximal length of message header and body lines that Postfix will send via SMTP. This limit does not include the <CR
><LF> at the end of each line. Longer lines are broken by inserting "<CR><LF><SPACE>", to minimize the damage to MIME fo
rmatted mail.

The Postfix limit of 998 characters not including <CR><LF> is consistent with the SMTP limit of 1000 characters includin
g <CR><LF>. The Postfix limit was 990 with Postfix 2.8 and earlier.


-- 
Scott Lambert                    KC5MLE                       Unix SysAdmin
lambert at lambertfam.org


More information about the Info-cyrus mailing list