I posted patch 100861 to sourceforge; this addresses bug 108167, which was the complaint that SMTPDirect.py didn't log posts to the post log like Sendmail.py did. Since the environment is a bit different (SMTPDirect can tell which user had what error, Sendmail just kind of worked or went Blooie) the "failure code" didn't seem to make sense; so I just had it log a successful attempt at doing smtp dialog, and ignore things that would just get the message thrown back into the queue; they'll likely show up in other logs anyway.
"RJ" == Ron Jarrell
writes:
RJ> I posted patch 100861 to sourceforge; this addresses bug RJ> 108167, which was the complaint that SMTPDirect.py didn't log RJ> posts to the post log like Sendmail.py did. Since the RJ> environment is a bit different (SMTPDirect can tell which user RJ> had what error, Sendmail just kind of worked or went Blooie) RJ> the "failure code" didn't seem to make sense; so I just had it RJ> log a successful attempt at doing smtp dialog, and ignore RJ> things that would just get the message thrown back into the RJ> queue; they'll likely show up in other logs anyway. Since SMTPDirect.py already writes to logs/smtp, I didn't think it was necessary to also write to logs/post. I gather from your patch and Dan's bug report that you think it should do both? Or should it write only to logs/post? As for the success/failure bit, you're right, the failure code doesn't make much sense here. What probably does make sense is for on failure, to print the number of failed recipients. So along those lines, here's what I intend to check in. -Barry -------------------- snip snip -------------------- Index: SMTPDirect.py =================================================================== RCS file: /cvsroot/mailman/mailman/Mailman/Handlers/SMTPDirect.py,v retrieving revision 1.11 diff -u -r1.11 SMTPDirect.py --- SMTPDirect.py 2000/06/03 04:59:45 1.11 +++ SMTPDirect.py 2000/07/22 02:36:53 @@ -75,9 +75,19 @@ finally: t1 = time.time() mlist.Lock() - # Process any failed deliveries. + # Log the successful post syslog('smtp', 'smtp for %d recips, completed in %.3f seconds' % (len(recips), (t1-t0))) + + if refused: + syslog('post', 'post to %s from %s, size=%d, %d failures' % + (mlist.internal_name(), msg.GetSender(), len(msg.body), + len(refused))) + else: + syslog('post', 'post to %s from %s, size=%d, success' % + (mlist.internal_name(), msg.GetSender(), len(msg.body))) + + # Process any failed deliveries. tempfailures = [] for recip, (code, smtpmsg) in refused.items(): # DRUMS is an internet draft, but it says:
participants (2)
-
bwarsaw@beopen.com
-
Ron Jarrell