如何在Python中生成具有正确CRLF的multipart/mime消息?

Mal*_*Box 5 python mime

我需要生成一个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()
Run Code Online (Sandbox Code Playgroud)

似乎没有任何方法可以说服它使用(MIME标准)CRLF.似乎它应该能够执行此操作的Generator类不会.

为了解决这个问题,还有其他人做了什么?

Mal*_*Box 3

这是 Python 中的一个错误,现已修复:http://hg.python.org/lookup/r85811

现在应该可以在非电子邮件传输上使用 MIME 库并发生明智的事情。

  • 遗憾的是,Python 2.7 中不存在这一点。我仍在尝试找出解决方法 - 我有一条包含二进制部分的多部分消息,我将其作为网络请求发送。 (3认同)