这是我正在使用的代码的摘录。我正在遍历添加电子邮件的部分;我的问题不是在每个循环上更改“to”字段,而是附加“to”数据。显然这会导致一些问题,因为 to 字段最终变得越来越长。我试过 msgRoot.del_param('To') 无济于事。我什至尝试将 msgRoot['To'] 设置为引用列表的第一个索引,这样我就可以简单地更改该列表项的值(也不起作用)。
from email.MIMEMultipart import MIMEMultipart
msgRoot = MIMEMultipart('related')
msgRoot['To'] = 'email@email.com'
Run Code Online (Sandbox Code Playgroud)
您可以使用该replace_header方法。
replace_header(_name, _value)替换标题。替换在消息中找到的与 _name 匹配的第一个标头,保留标头顺序和字段名称大小写。如果未找到匹配的标头,则会引发 KeyError。
2.2.2 版中的新功能。
例如,
if msgRoot.has_key('to'):
msgRoot.replace_header('to', someAdress)
else:
msgRoot['to'] = 'email@email.com'
Run Code Online (Sandbox Code Playgroud)