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

Reply via email to