[Mailman-Developers] Sender: header in 2.0beta1

Nigel Metheringham Nigel.Metheringham@VData.co.uk
Thu, 23 Mar 2000 09:33:10 +0000


>>>>> "GM" == Gergely Madarasz <gorgo@caesar.elte.hu> writes:

    GM> Actually I think that a wrong sender header is more acceptable
    GM> than the increased possibility of mails getting lost... ;) The
    GM> first problem can be easily noticed and fixed, while the
    GM> second is not that easy to discover...


bwarsaw@cnri.reston.va.us said:
> True.  Such lossage should at least get logged in logs/error, and I
> haven't in practice seen any problems on Python.Org, but you are right
> (as others have also pointed out).  Some fallback mechanism should be
> implemented so that mail doesn't get lost when using SMTPDirect. 

We have ended up with a nasty loop here - which means that using SMTP 
injection I can't stop mail handling (or shut down) on a loaded 
machine.  If I kill the SMTP listener and queue runner, then messages 
stop being injected into mailman, but any already launched mailman 
instances will be hit by a brick wall as they try to hand off their 
messages.

A little careful tampering with using an inject to queue only (ie no 
direct injection into mailman) and a separate queue runner would allow 
this to be sequenced right, as would some nasty hacks allowing 
differential handling of smtp coming in from remote addresses and 
localhost... but all of this is nasty hacking to get round the fact 
that the MTA and mailman are in a deadly embrace and getting them out 
of it without losing mail is difficult.

On that basis I think on my boxes I am going to have to look at 
injection through the sendmail CLI which would allow me to kill the 
smtp listener without mail lossage.  The downside of that is it is a 
harder hit in terms of process starting (at least for exim), error 
handling is less good, and sendmail CLIs are notoriously strange.

One method that may be possible would be to write BSMTP wrapped 
messages to a directory, and use a (very simple) forked program at the 
end to feed them to the MTA on localhost, and if successful delete the 
spooled BSMTP.  A cron job could also pick up these spools every so 
often and attempt to inject them.

	Nigel.
-- 
[ - Opinions expressed are personal and may not be shared by VData - ]
[ Nigel Metheringham                  Nigel.Metheringham@VData.co.uk ]
[ Phone: +44 1423 850000                         Fax +44 1423 858866 ]