我需要生成一个multipart / mime消息作为对HTTP请求的响应发送,但是在Python email。*包中遇到错误或限制。
问题在于使用Python 2.6,下面的message.as_string()
调用会生成一个字符串,其中\ n而不是CRLF作为行结尾:
message = MIMEMultipart()
for image in images:
f = image.open('rb')
img = MIMEImage(f.read(), _encoder=encode_7or8bit)
message.attach(img)
message.as_string()
似乎没有办法说服它使用(MIME标准)CRLF。似乎应该能够执行此操作的Generator类不会。
其他人为了解决这个问题做了什么?
答案 0 :(得分:3)
这是Python中的一个错误,现已修复:http://hg.python.org/lookup/r85811
现在应该可以使用MIME库而不是非电子邮件传输,并且会发生明智的事情。
答案 1 :(得分:2)
一个简单的黑客
message.as_string().replace('\n', '\r\n')
?不太优雅,但应该工作(并且应该在Python跟踪器中输入错误报告)。