Вот выдержка из кода, который я использую. Я просматриваю часть, которая добавляет письмо; моя проблема, а не изменение поля "на" в каждом цикле, добавление "к" данных. Очевидно, что это вызывает некоторые проблемы, поскольку на поле заканчивается все больше и больше. Я попробовал msgRoot.del_param ('To') безрезультатно. Я даже пытался установить msgRoot ['To'], чтобы ссылаться на первый индекс списка, чтобы я мог просто изменить значение этого элемента списка (также не работал).
from email.MIMEMultipart import MIMEMultipart
msgRoot = MIMEMultipart('related')
msgRoot['To'] = '[email protected]'
Вы можете использовать метод 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 protected]'
Я просто делаю это:
del msgRoot["To"]
msgRoot["To"] = "[email protected]"
Моя домашняя платформа для блогов в http://www.royalbarrel.com/ хранит свои сообщения в блоге таким образом, используя сообщения Mime. Прекрасно работает. И если кто-то добавляет комментарий, я обновляю сообщение до MimeMultipart и получаю первую полезную нагрузку в качестве фактического сообщения в блоге и последующих полезных данных.
if 'to' in message:
потому чтоhas_key
устарел.