【发布时间】:2014-04-08 00:02:45
【问题描述】:
如何在 Python 中构造 MIME 多部分消息?我已经尝试过 Python 的 email 包,但它似乎坏了——它没有正确执行二进制部分(将它们的 Content-Transfer-Encoding 设置为 base64 并将数据保留为二进制)。请注意,对于我的应用程序,实际数据是二进制编码的,而不是 base64 编码,这一点非常重要。我需要最小化尺寸。
这是我试过的代码。
from email import message, mime, generator, encoders
from email.mime import multipart, text, image
from cStringIO import StringIO
import os
m = multipart.MIMEMultipart( "related" )
part = text.MIMEText( "text", "plain" )
part.set_payload( "hello" )
part.add_header( 'Content-Disposition', 'asset', name='abc' )
m.attach( part )
part = image.MIMEImage( "image", "x-other" )
part.set_payload( os.urandom(200) )
m.attach( part )
fp = StringIO()
g = generator.Generator( fp, mangle_from_ = False, maxheaderlen = 1000 )
g.flatten(m)
print( fp.getvalue() )
【问题讨论】:
标签: python python-2.7 mime