from email.mime.multipart import MIMEMultipart
msg=MIMEMultipart('mixed')
msg['To']='test'
msg['To']='test2'
print(msg)
产生
Content-Type: multipart/mixed; boundary="===============1302686855105723805=="
MIME-Version: 1.0
To: test
To: test2
--===============1302686855105723805==
--===============1302686855105723805==--
我希望test2能够替换test,但它只会添加到收件人列表中。我不想要那个。我想替换当前的收件人并重用当前的mimemultipart变量/消息,因为我需要将具有相同参数的多封电子邮件发送给不同的收件人,并且我不希望所有这些都在标题中。如何更改当前' To'属性,或丢弃当前' To' MIMEMultipart类型对象中的属性?
答案 0 :(得分:1)
使用msg.replace_header()
覆盖现有标头,例如
from email.mime.multipart import MIMEMultipart
msg=MIMEMultipart('mixed')
msg['To']='test'
msg.replace_header('To', 'test2')
print(msg)
输出:
From nobody Tue Oct 21 09:51:52 2014
Content-Type: multipart/mixed; boundary="===============0295162158244343135=="
MIME-Version: 1.0
To: test2
--===============0295162158244343135==
--===============0295162158244343135==--
答案 1 :(得分:0)
您可以使用replace_header()
方法。此方法使用标题顺序和大小写替换消息中找到的第一个匹配标头。如果没有匹配的标题,那么您将获得KeyError
在您的情况下,只需使用msg.replace_header('To','test2')