I just upgraded one of my servers to exim 4 and mailman choked badly on having exim refuse a message because exim did this:
DNS lookup of scruznet.com (MX) gave TRY_AGAIN scruznet.com in dns_again_means_nonexist? no (option unset) returning DNS_AGAIN lookuphost router: defer for champney@scruznet.com message: host lookup did not complete ----------- end verify ------------ accept: condition test deferred SMTP>> 451 Temporary local problem - please try later
The problem is that mailman decided that the whole post failed, and started to resend it in a loop. Apr 15 08:13:56 2002 (17389) post to keskydee from jean-luc@maisiere.com, size=3527, 9 failures Apr 15 08:17:54 2002 (17389) post to keskydee from jean-luc@maisiere.com, size=3527, 7 failures Apr 15 08:22:08 2002 (17389) post to keskydee from jean-luc@maisiere.com, size=3527, 8 failures (...)
This also caused bounce scores against all the users and angered the membership obviously. I'm not sure how mailman could deal better with that, granted, it can be fixed on the exim side, but the problem is not obvious and the looping post is nasty. Since mailman doesn't know who many receipients it delivered to when it gets an error from the MTA (4xx or 5xx), I recommend that mailman moves the message in a separate queue dir, logs an error (possibly Emailing the list owner in the process) and gives up on the message. Resending it is only going to piss off the users that are getting the message each time mm tries.
BTW, on the exim 4 side, I had: accept hosts = +localadds:+relay_from_hosts verify = recipient
I solved the problem by adding this at the beginning of my rcpt ACL: accept hosts = 127.0.0.1
Marc
Microsoft is to operating systems & security .... .... what McDonalds is to gourmet cooking
Home page: http://marc.merlins.org/ | Finger marc_f@merlins.org for PGP key