[Savane-dev] Re: [Mailman-Developers] EOL handling in Mailman

Mark Sapiro msapiro at value.net
Sat Mar 19 23:46:55 CET 2005

Mathieu Roy wrote:

>Mark Sapiro <msapiro at value.net> tapota :
>> How does Savane inject its messages into the internet mail transport
>> system? If it is sending via SMTP, then it MUST send line terminators
>> as <CRLF> (or \r\n). 
>I do not remember the specifics exactly but Sylvain wrote previously
>"we noticed that when we send mail with newlines in the \r\n format,
>Mailman converts them to \n\n.". So I assume Savane is sending
>newlines in the \r\n format.
>> If this results in doubling, then the receiving SMTP server is non
>> compliant. If it is sending messages via some non SMTP intermediary,
>> then it needs to format the messages as expected by the
>> intermediary.
>> Does Savane perhaps pipe outgoing messages directly to the Mailman
>> wrapper in the same way that an incoming MTA might do? If so, this is
>> _not_ an SMTP transfer and end of line sequences should be those of
>> the platform, i.e just \n for Unix.
>It uses the default mail() function provided by PHP, which would send
>the mail via the locally available SMTP server -- maybe through a pipe
>but still there's an SMTP server between Savane and mailman.
>The main reason why we have the feeling that the bug comes from
>mailman is the fact that only mails redistributed by mailman
>mailing-list have this problem -- not copies sent directly to users or
>mailing-list managed by other list managers.
>Savane and the SMTP server itself are completely unaffected by this
>problem when mailman is not involved. 

I certainly understand why you would think this given your
observations, but I have never seen this problem from Mailman, nor
have I seen any report of it other than yours, so I'm inclined to be
more skeptical.

Here's a suggestion for a test. Presumably, your current MTA that
delivers to Mailman has aliases (or equivalents) to hand off incomming
mail to Mailman. In particular, the posting address for listname has
something like

listname at example.com: "|/usr/local/mailman/mail/mailman post listname"

The path to mailman/mail/mailman may be different, but assuming there
is an alias like this, you could change it temporarily to something

listname at example.com: "|tee somefile|/usr/local/mailman/mail/mailman
post listname"

i.e. you could capture a copy in somefile of the incoming message as
delivered to Mailman. Then, by comparing this copy both to what you're
sending and to what Mailman sends, you should be able to pinpoint
where the problem is.

Mark Sapiro <msapiro at value.net>       The highway is for gamblers,
San Francisco Bay Area, California    better use your sense - B. Dylan

More information about the Mailman-Developers mailing list