明确指定MIME Multipart消息中的边界



我知道如何使用python3的 email.mime.multipart.MIMEMultipart类创建各种多部分电子邮件。

我需要在某些现有的多部分消息上进行"电子邮件外科手术"(其中包含各种MIME零件),并删除和添加一些新零件而不更改电子邮件的标题。在标题中,有以下样品标头:

Content-Type: multipart/mixed;
        boundary="ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"

...使用ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ边界来分开现有消息部分。

我想使用email.mime.multipart.MIMEMultipart工具来创建具有修改部分的新车身,我想在这些部分之间使用相同的ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ边界,因此我不必返回并更改已经存在的Content-Type标头在消息的原始标题中。

如果我可以在创建此多部分时要使用的边界的确切文本,但是在Python3中,email.mime.multipart.MIMEMultipart软件包似乎总是会创建自己的,随机生成的边界字符串。p>在Python3中,有什么方法可以告诉email.mime.multipart.MIMEMultipart软件使用我提供的边界字符串?

如果没有,我可以通过取新生成的消息主体,提取其新的边界字符串来解决此问题(我将称为" newboundary",然后用原始边界代替它(我将称为"原始界限"),如下:

msgbodytext = msgbodytext.replace(newboundary, originalboundary)

,但如果可能的话,我不愿意这样做。

关于如何告诉email.mime.multipart.MIMEMultipart使用我指定的边界字符串的任何想法?谢谢。

我最初误解了文档,现在我重新阅读了这些文档,我发现这很容易。

要将自己的边界设置为originalboundary变量的值,我只需要这样做:

msg = email.mime.multipart.MIMEMultipart(boundary=originalboundary)

最新更新