I'm trying to reach closure on this unixfrom issue. Here's my take from scanning the back archives:
The standard Python library module mailbox.py was dropping the unixfrom lines. This didn't have much of real effect on Mailman, but Guido checked in a fix anyway. We can ignore this.
The unixfrom lines were not getting properly included in held messages, which broke the Pipermail archiver.
The unixfrom lines were also not getting stored in the qfiles/*.msg files for delivery pipeline failures.
It seems to me that both of the last two problems are best fixed by patching the Mailman.Message.Message.__str__() method as given below. I believe in one of Thomas Wouters last followups on the subject he suggests this patch. It appears to fix the problem with approved held messages not getting properly archived.
This is the patch I intend to check in to fix the problem. If I've missed something please let me know.
-Barry
-------------------- snip snip -------------------- Index: Message.py
RCS file: /cvsroot/mailman/mailman/Mailman/Message.py,v retrieving revision 1.29 diff -c -r1.29 Message.py *** Message.py 2000/05/08 22:23:17 1.29 --- Message.py 2000/05/31 18:14:57
*** 55,62 **** self.body = self.fp.read()
def __str__(self):
! # TBD: should this include the unixfrom? ! return string.join(self.headers, '') + '\n' + self.body
def GetSender(self, use_envelope=None):
"""Return the address considered to be the author of the email.
--- 55,61 ---- self.body = self.fp.read()
def __str__(self):
! return self.unixfrom + string.join(self.headers, '') + '\n' + self.body
def GetSender(self, use_envelope=None):
"""Return the address considered to be the author of the email.