【发布时间】:2018-05-15 01:20:35
【问题描述】:
我知道如何使用 python3 的email.mime.multipart.MIMEMultipart 类来创建各种多部分电子邮件。
我需要对某些现有的多部分邮件进行“电子邮件手术”,方法是获取正文(其中包含各种 MIME 部分)并删除和添加一些新部分,而不更改电子邮件标题的其余部分。在标头中,有以下示例标头:
Content-Type: multipart/mixed;
boundary="ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"
...ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 边界用于分隔现有消息部分。
我想使用email.mime.multipart.MIMEMultipart 工具来创建一个带有修改零件的新主体,并且我想在这些零件之间使用相同的ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 边界,这样我就不必回去更改@ 987654326@ 邮件的原始标头中已经存在的标头。
如果我可以在创建这个多部分正文时指定我想要使用的边界的确切文本,那将是理想的,但在 python3 中,email.mime.multipart.MIMEMultipart 包似乎总是创建自己的随机生成的边界字符串。
在 python3 中,有没有办法告诉email.mime.multipart.MIMEMultipart 软件使用我提供的边界字符串?
如果没有,我可以通过获取新生成的消息正文,提取其新的边界字符串(我将其称为“newboundary”,然后将其替换为原始边界(我将其称为“originalboundary "),如下:
msgbodytext = msgbodytext.replace(newboundary, originalboundary)
但如果可能的话,我宁愿不这样做。
关于如何告诉email.mime.multipart.MIMEMultipart 使用我指定的边界字符串的任何想法?谢谢。
【问题讨论】:
标签: python-3.x mime multipart