Python:我如何更改;至;smtp/MIME脚本中的字段,而不是添加新字段?

Python:我如何更改;至;smtp/MIME脚本中的字段,而不是添加新字段?,python,smtp,mime,Python,Smtp,Mime,下面是我正在使用的代码的摘录。我正在循环浏览添加电子邮件的部分;我的问题不是更改每个循环上的“to”字段,而是附加“to”数据。显然,这会导致一些问题,因为to字段最终变得越来越长。我试过msgRoot.del_param('To'),但没有用。我甚至尝试将msgRoot['To']设置为引用列表的第一个索引,这样我就可以简单地更改该列表项的值(也不起作用) 您可以使用 替换\u标题(\u名称,\u值) 更换收割台。替换消息中与_name匹配的第一个标头,保留标头顺序和字段名大小写。如果未找到匹

下面是我正在使用的代码的摘录。我正在循环浏览添加电子邮件的部分;我的问题不是更改每个循环上的“to”字段,而是附加“to”数据。显然,这会导致一些问题,因为to字段最终变得越来越长。我试过msgRoot.del_param('To'),但没有用。我甚至尝试将msgRoot['To']设置为引用列表的第一个索引,这样我就可以简单地更改该列表项的值(也不起作用)

您可以使用

替换\u标题(\u名称,\u值)

更换收割台。替换消息中与_name匹配的第一个标头,保留标头顺序和字段名大小写。如果未找到匹配的标头,则会引发KeyError

版本2.2.2中的新功能

比如说,

if msgRoot.has_key('to'):
    msgRoot.replace_header('to', someAdress)
else:
    msgRoot['to'] = 'email@email.com'
我只是这样做:

del msgRoot["To"]
msgRoot["To"] = "email@email.com"

我的自制博客平台通过Mime消息以这种方式存储博客帖子。效果很好。如果有人添加了一条评论,我会将消息升级到MimeMultipart,并将第一个有效负载作为实际的博客文章,随后的有效负载作为评论。

在Python 3.5中,我必须在消息中使用
如果“to:
,因为
has\u key
已被弃用。Python 3更改了dict语法。请参阅“Removed.dict.has_key()–改用in运算符。”
del msgRoot["To"]
msgRoot["To"] = "email@email.com"