On Tue, Apr 16, 2002 at 06:33:59PM -0400, Barry A. Warsaw wrote:
> SMTP> 451 Temporary local problem - please try later
>
> MM> The problem is that mailman decided that the whole post
> MM> failed, and started to resend it in a loop.
>
> If I'm reading RFC 2821 correctly, this is the right thing for Mailman
> to do. A 451 error code means:
I'm not saying that mailman is incorrect on the interpretation of the RFC,
I'm saying that if mailman feeds an incorrect Email address or something
that causes the MTA to reject the mail, it will endlessly spam all the
subscribers that are being delivered to every time mailman tries.
This can't be the desired behaviour...
What if mailman gets a 5xx? Does it give up on the message and drop it on
the floor?
My point is that in both cases it should log a clear error of what happened,
and save the message that triggered the problem somewhere.
But you are right that in theory mailman should know who the message was
delivered to, and who didn't get it.
> "The command was not accepted, and the requested action did not
> occur. However, the error condition is temporary and the action
> may be requested again. The sender should return to the beginning
> of the command sequence (if any)."
>
> So it looks to me like we're correct in assuming that none of the
> recipients of that chunk got the message. If Exim is doing partial
> deliveries and still returning 451, that doesn't seem right.
Here's what exim does:
220 mail2.merlins.org ESMTP Exim 4.01 #1 Tue, 16 Apr 2002 16:03:46 -0700 - mm1
helo foo
250 mail2.merlins.org Hello root at moremagic.merlins.org [204.80.101.251]
mail from: [EMAIL PROTECTED]
250 OK
rcpt to: [EMAIL PROTECTED]
250 Accepted
rcpt to: [EMAIL PROTECTED]
451 Temporary local problem - please try later
Indeed this *shouldn't* have caused mailman to loop, but it sure did. Then
I'm afraid the only explanation that comes to mind is that it delivered one
block, got a 451 on the next one, and the previous block didn't get marked
as delivered, and mailman delivers it again to people who already got it
(I know, I got 12 copies in my mailbox before I was able to stop it)
Actually I checked closer, and my system is setup to use VERP, so mailman
would only have issued one RCPT per message, or blocks of 1 receipient.
Ok, so my exim logs show:
2002-04-15 05:43:31 16x5pS-0004XH-00 => keskydee <[EMAIL PROTECTED]> F=
<[EMAIL PROTECTED]> R=mm21_main_director T=mm21_transport S=2850
2002-04-15 05:43:34 16x5pW-0004RZ-00 <= keskydee-bounces+jean-luc=maisiere.com@m
erlins.org H=localhost (moremagic.merlins.org) [127.0.0.1]:49371 I=[127.0.0.1]:2
5 U=mailman P=esmtp S=1350 [EMAIL PROTECTED]
org T="Your message to Keskydee awaits moderator approval" from <keskydee-bounce
[EMAIL PROTECTED]> for [EMAIL PROTECTED]
(I'm still sleeping, wake up, approve the message, and it starts gettting sent)
2002-04-15 08:06:03 16x83P-0001tW-00 <= keskydee-bounces+sylvie=stanfordalumni.o
[EMAIL PROTECTED] H=localhost (moremagic.merlins.org) [127.0.0.1]:46865 I=[127.0.0.
1]:25 U=mailman P=esmtp S=3893 [EMAIL PROTECTED] T="[Kesky
dee] recherche collaboration" from <keskydee-bounces+sylvie=stanfordalumni.org@l
ists.merlins.org> for [EMAIL PROTECTED]
2002-04-15 08:06:05 16x83P-0001tW-00 => [EMAIL PROTECTED] F=<keskydee-bo
[EMAIL PROTECTED]> R=lookuphost T=remote_smtp S=4009 H
=mx.usa.net [165.212.65.113] C="250 Mail accepted (240gDoPFv0045M01)"
2002-04-15 08:06:05 16x83P-0001tW-00 Completed
2002-04-15 08:06:09 H=localhost (moremagic.merlins.org) [127.0.0.1]:46865 (mailm
an) F=<[EMAIL PROTECTED]> temporarily rejecte
d RCPT <[EMAIL PROTECTED]>: host lookup did not complete
Ahah, first 4xx
2002-04-15 08:06:09 SMTP connection from localhost (moremagic.merlins.org) [127.
0.0.1]:46865 closed by QUIT
mailman bails right after that.
2002-04-15 08:06:10 SMTP connection from localhost [127.0.0.1]:41158 (TCP/IP con
nection count = 1)
and comes back
delivers some other messages
and gets another 4xx
2002-04-15 08:06:29 H=localhost (moremagic.merlins.org) [127.0.0.1]:41158 (mailm
an) F=<[EMAIL PROTECTED]> temporarily rejected
RCPT <[EMAIL PROTECTED]>: host lookup did not complete
2002-04-15 08:06:29 SMTP connection from localhost (moremagic.merlins.org) [127.
0.0.1]:41158 closed by QUIT
2002-04-15 08:06:29 SMTP connection from localhost [127.0.0.1]:60022 (TCP/IP con
nection count = 1)
delivers to more people, and then to me
2002-04-15 08:07:56 16x85E-00058R-00 <= [EMAIL PROTECTED]
H=localhost (moremagic.merlins.org) [127.0.0.1]:42096 I=[127.0.0.1]:25 U=mailman
P=esmtp S=3866 [EMAIL PROTECTED] T="[Keskydee] recherche
collaboration" from <[EMAIL PROTECTED]> for
marc<at>merlins.org
Unfortunately, since there are 200+ members, I can't give you a sweet 10 lines of logs
with the obvious problem, but I can show you this:
2002-04-15 08:14:27 16x8BX-0005WU-00 <= [EMAIL PROTECTED]
H=localhost (moremagic.merlins.org) [127.0.0.1]:57729 I=[127.0.0.1]:25 U=mailman
P=esmtp S=3866 [EMAIL PROTECTED] T="[Keskydee] recherche
collaboration" from <[EMAIL PROTECTED]> for
marc<at>merlins.org
The same message gets sent back to me again, and again every 10-15mn until I
manually yanked the message from the spool.
I know you'd rather have the line of code that does the bad thing, or even a
patch, but I can at least tell you that something is amiss. My first report
just wasn't good because I didn't research the failure deeply enough.
Marc
--
Microsoft is to operating systems & security ....
.... what McDonalds is to gourmet cooking
Home page: http://marc.merlins.org/ | Finger [EMAIL PROTECTED] for PGP key
_______________________________________________
Mailman-Developers mailing list
[EMAIL PROTECTED]
http://mail.python.org/mailman/listinfo/mailman-developers