Hi,
Mark Sapiro wrote:
I looked a bit at the documentation of the email library and based on that, I think what may have happened is when the parser saw the first "end of subpart boundary" which looked the same as the outer "end of part boundary", it took it as the end of the outer part and treated the rest as an epilogue. Hold.py does the following to compute message size:
if mlist.max_message_size > 0: bodylen = 0 for line in email.Iterators.body_line_iterator(msg): bodylen += len(line)
but the body_line_iterator() method may skip the epilogue.
I think we can write more intuitive and robust code like this:
if mlist.max_message_size > 0:
bodylen = len(msg.as_string().split('\n\n',1)[1])
Also, I think MimeDel.py will leave the epilogue in the message.
I will look at it closer.
Interestingly, both Thunderbird 1.5b1 and MS Outlook Express 6 seem to parse the message as intended, but Mutt 1.4.1i sees it more like Mailman does.
If there's no answer on the list, I intend to keep at it, but not for the next week as I will be away.
-- Tokio Kikuchi, tkikuchi@ is.kochi-u.ac.jp http://weather.is.kochi-u.ac.jp/