[Mailman-Developers] Sender field

James Ralston qralston+ml.mailman-developers at andrew.cmu.edu
Thu May 11 18:00:02 CEST 2006


On 2006-05-01 at 17:19-04 Barry Warsaw <barry at python.org> wrote:

> > Since disabling the Sender header processing is literally a
> > one-line patch, we're going to go ahead and do it.  If it breaks
> > horribly (even for a small percentage of users) we'll know; if it
> > makes our users happy, we'll know that too.
> 
> Definitely let us know how it goes!

We haven't rolled it out yet (because we want to do at least some
cursory testing first), but just FYI, I've attached the patch we came
up with.  (I'm not sure if Mailman will eat it; if not, I'll resend it
inline.)

> > This problem is so bad for us that some list owners are demanding
> > that we abandon Mailman in favor of some other list manager.
> > ([Our list owners are] also incensed about Mailman's bounce
> > processing options, but that's another topic.)
> 
> Please do start a new thread with your feedback here.  Fixing the
> bounce processor is definitely one of the things I want to do for
> MM2.2.

Will do.

James
-------------- next part --------------
--- mailman-2.1.8/Mailman/Handlers/SMTPDirect.py.sender-header	2005-12-30 13:50:08.000000000 -0500
+++ mailman-2.1.8/Mailman/Handlers/SMTPDirect.py	2006-05-02 13:45:21.000000000 -0400
@@ -347,17 +347,23 @@
 
 
 def bulkdeliver(mlist, msg, msgdata, envsender, failures, conn):
-    # Do some final cleanup of the message header.  Start by blowing away
-    # any the Sender: and Errors-To: headers so remote MTAs won't be
-    # tempted to delivery bounces there instead of our envelope sender
-    #
-    # BAW An interpretation of RFCs 2822 and 2076 could argue for not touching
-    # the Sender header at all.  Brad Knowles points out that MTAs tend to
-    # wipe existing Return-Path headers, and old MTAs may still honor
-    # Errors-To while new ones will at worst ignore the header.
-    del msg['sender']
+    # Do some final cleanup of the message header.  Start by blowing away any
+    # Errors-To: headers so remote MTAs won't be tempted to delivery bounces
+    # there instead of our envelope sender.
+    # 
+    # Previously, we also blew away any Sender: headers, and added a new
+    # Sender: header with our envelope sender.  However, this behavior seems to
+    # cause more problems than it solves, because various MUAs will include the
+    # Sender address in a reply-to-all, which is not only confusing to
+    # subscribers, but can actually disable/unsubscribe them from lists,
+    # depending on how often they accidentally reply to it.
+    # 
+    # The drawback of not touching the Sender: header is that some MTAs might
+    # still send bounces to it, so by not trapping it, we can miss bounces.
+    # (Or worse, MTAs might send bounces to the From: address if they can't
+    # find a Sender: header.)  But at least for now, we're going to take our
+    # chances with leaving the Sender: header alone.
     del msg['errors-to']
-    msg['Sender'] = envsender
     msg['Errors-To'] = envsender
     # Get the plain, flattened text of the message, sans unixfrom
     msgtext = msg.as_string()


More information about the Mailman-Developers mailing list