mime multipart messages

Glenn Stauffer python at dejazzd.com
Thu Feb 28 20:08:22 CET 2002


I'm using the MimeWriter module to attach a file, submitted through an html 
form, to an email message.  When I do this and send mail to a unix machine 
and read the mail with mutt or kmail, the file is attached to the message as 
I would expect.  However, when the message is opened on a Mac or Windows 
machine, the file is mixed into the body of the message.

This is the code I use to construct the message:

-------------------------------------------------------------------------------

message = StringIO.StringIO()
writer = MimeWriter.MimeWriter(message)
writer.addheader('Subject', mail_subject)
writer.startmultipartbody('mixed')

part=writer.nextpart()
body = part.startbody('text/plain')
body.write(msgbody)

part=writer.nextpart()
part.addheader('Content-Type','application/mixed')
part.addheader('Content-Transfer-Encoding', 'base64')
part.addheader('Content-Disposition','attachment; filename=%s' % 
form['file'].filename)
body = part.startbody('application/binary')
base64.encode(open(tmpfile,'rb'), body)

writer.lastpart()

-------------------------------------------------------------------------------

This is how the file looks when someone opens it with Eudora on a Windows PC:

--130.58.64.30.99.29450.1014921136.814.11340
Content-Type: text/plain


--130.58.64.30.99.29450.1014921136.814.11340
Content-Type: application/binary
Content-Type: application/mixed
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=README

PT09PT09PT09PT09PT09PT09PT0NClRoZSB4bWxycGNsaWIgbW9kdWxlDQo9PT09PT09PT09PT09
PT09PT09PQ0KDQpUaGlzIGtpdCBjb250YWlucyBhIFB5dGhvbiBpbXBsZW1lbnRhdGlvbiBmb3Ig

-------------------------------------------------------------------------------

Anyone have any thoughts on what I'm doing wrong or where to look to figured 
this problem out?

Thanks,

Glenn




More information about the Python-list mailing list