I sent this to mailman-users and now I'm sending this to you to see if anyone has any insight into this.
Actually, I've been able to track this down to a problem in the python library mimetools.py. The message that causes problems has a header as such:
Content-Type: multipart/report; report-type=delivery-status boundary="-------=_2EF51FF1.3FFF45E0"
And if you notice, the report-type value is not terminated with a ';' character. As a result, the value gets set to:
"delivery-status
boundary=...."
So when ~mailman/Mailman/Bouncers/Netscape.py (or whatever) goes to run (in the process routine):
boundary = msg.getparam('boundary')
it gets back None which gets pushed onto the stack. Later, when str is popped off the stack python fails because it can't do a string operation on None.
If you look at the mimetools.py in the python library, and look at the parsetype method of the Message class, you'll see that the problem is in the assumption that each of the variable declarations in the Content-Type: header of the mime encoded message are always terminated by a semicolon. Just as a test, I hand modified the message in the qfiles directory and change the above Content-Type: header to read:
Content-Type: multipart/report; report-type=delivery-status; boundary="-------=_2EF51FF1.3FFF45E0"
and the message was processed. So, what is the fix? Occasionally, a message will come back and end up in the qfiles directory that has the header as described above. As a result, qrunner fails (errors out) and NONE of the email on the system is processed. This is a critical problem. Could you please help out with this?
Thanks Kambiz
ps. Please reply directly to me, as I am not on this list. Thanks
--
\o__O o -=< Kambiz Aghaiepour - (919)593-1964 >=- o o
\_ /|\ -=< Senior Consultant - The Collective >=- //\ //
|\ |\ -=< mailto:kambiz@collectivetech.com >=- // //
/ / |/ -=< http://www.collectivetech.com/ >=- |\ ||