Re: [Exim] Cyrus deliver and Exim for Sieve vacation message…

Top Page
Delete this message
Reply to this message
Author: Jan Schreckenbach
Date:  
To: Rodger Duffett
CC: exim-users
Subject: Re: [Exim] Cyrus deliver and Exim for Sieve vacation messages
Hi,

Rodger Duffett wrote:
>
> Greetings,
>
> I posted a few days ago regarding the following:
>
> > > >. Sendmail ignores leading blank lines in messages on the standard
> input.
> > > > Should Exim? Also, Sendmail handles CRLF-terminated non-SMTP imput,
> > > > apparently.
>
> This was in connection with a problem that arises when the Cyrus imapd
> deliver process attempts to send a message in response to a Sieve rule. Two
> common instances of such rules would be a forward all messages rule or a
> vacation response. With Exim as the MTA the message gets sent (or forwarded)
> but a blank line is inserted into the headers causing the mail client to
> display the message in an odd format.
>


Cyrus-imapd forks out a child process calling sendmail -f. Afterwards
it composes some header lines terminated with \r\n. I had a discussion
with Philip a long time ago about this topic and he stated that exim
expects the lines to be terminated with \n because this is the Unix
way:
<cite>
The convention for ending lines in Unix systems is \n. When a message is
submitted to Exim on stdin, it assumes that it is in conventional Unix
format, that is, with \n as the line terminator. This works with the
vast majority of programs that use this interface. (Clearly you have
found an exception.)

In this circumstance, Exim will \r at just another data character. I'm
not sure why this is persuading it that the first line it receives is
not a valid header line, however.
</cite>

When the resulting message is transported over LMTP the terminating
\n will be changed to \r\n. Therefore you have header lines
terminated \r\r\n. This looks like a blank line after the
first header line for Cyrus-imapd.

OK, i decided to write a private patch which is attached to this
mail (cyrus-imapd-2.0.16-sendmail.patch.gz). The second patch might
be interessting for people in Germany, where it is common to have
"Umlaute" like ä in the Subject line.

The patch is not perfect yet. Cyrus-imapd reads the message from
a LMTP-socket. In the case of an error message or a Sieve redirect
command, the read data will be piped to sendmail right after the
self-composed header lines. The read lines are terminated \r\n which
is the standard for LMTP. But I never had problems with that.

>
> Deliver seems to call sendmail as follows:
>     sendmail -f <from@???> -- to@??? <themsg

>
>
> Cheerio
> Rodger Duffett
> University of Cape Town


cu,
Jan

--
_______________________________________________________________________

THE BEST RUN E-BUSINESSES RUN SAP
_______________________________________________________________________

Jan Schreckenbach                      email: Jan.Schreckenbach@???
SAP AG Walldorf/Baden, Germany         Phone: +49 6227  7-47474
LinuxLab                               Fax  : +49 6227 78-31414


SAP LinuxLab support address: linux@???