The first one is a typical problem I get with mails from Eudora. You can find the mail at http://qo-op.com/break_mime.txt
The problem with this one is that the boundary delimiter of the outer multipart occurs as a prefix of the boundary delimiter for the inner multipart. RFC2046 explicitly forbids this:
As stated previously, each body part is preceded by a boundary delimiter line that contains the boundary delimiter. The boundary delimiter MUST NOT appear inside any of the encapsulated parts, on a line by itself or as the prefix of any line. This implies that it is crucial that the composing agent be able to choose and specify a unique boundary parameter value that does not contain the boundary parameter value of an enclosing multipart as a prefix.
Complain to the makers of Eudora.
Next is the error log I get from the LMTP server included in Pike 7.5. It shows that MIME.Message simply brokes really too much. I run the LMTP server with Pike 7.2.526 in Caudium.
The problem here is the Content-Type line:
Content-Type: text/html;iso-8859-1
This is a syntax error. It's supposed to be
Content-Type: text/html;charset=iso-8859-1
Again, it's the mail that is broken, not MIME.Message.
/ Marcus Comstedt (ACROSS) (Hail Ilpalazzo!)
Previous text:
2003-12-05 16:20: Subject: Problems with MIME.Message
Hi,
Last time I mail the Pike devel list about problems with MIME, you ask me for some examples. Here are some I get on a production server. I contact your privately since some of the data you can find in these emails are private.
The first one is a typical problem I get with mails from Eudora. You can find the mail at http://qo-op.com/break_mime.txt
With Pike 7.2.526 it fails with:
multipart message improperly terminated /usr/local/pike/7.2.526/lib/modules/MIME.pmod:880: create("Content-Type: multipart/related;\n\ttype="text/html";\n\tboundar y="=====================_197842502==_.REL"\n",0,0)
MIME: Message()
And with 7.4.31:
boundary missing from multipart-body /usr/local/pike/7.4.31/lib/modules/MIME.pmod/module.pmod:1080: MIME.Message()->create("Content-Type: multipart/related;\n\ttype="text/ht
ml";\n\tboundary="=====================_197842502==_.REL"\n",0,0,0) object_program(MIME): MIME->Message() /usr/local/pike/7.4.31/lib/modules/MIME.pmod/module.pmod:1100: MIME.Message()->__lambda_65685_4_line_1090("Content-Type: multipart/relate
d;\n\ttype="text/html";\n\tboundary="=====================_197842502==_ .REL"\n")
Next is the error log I get from the LMTP server included in Pike 7.5. It shows that MIME.Message simply brokes really too much. I run the LMTP server with Pike 7.2.526 in Caudium.
I've added the following debug at line 869 of MIME.pmod to help debugging:
write("headers["content-transfer-encoding"]=%s\n", headers["content-transfer-encoding"]); array(string) arr=tokenize(headers["content-transfer-encoding"]); write("arr=%O\n", arr);
The log file also contains all the contents of the mail. I've tried to find out where the problem but I didn't succeed.
You can find the log file at http://smtp.linkeo.org/error_log.gz
-- David Gourdelier
/ Brevbäraren
pike-devel@lists.lysator.liu.se