Я использую стандартный вызов smtplib.sendmail () в моей программе на Python 3 для отправки электронных писем следующим образом:
smtp_session.sendmail('The Sender <sender@domain.com>', ['The ÅÄÖ Recipient <recipient@domain.com>'], 'Simple test body here')
Сеанс SMTP уже был успешно установлен до того, как эта строка кода былавыполняется, и он также всегда работает просто отлично, если в имени получателя нет «международных символов».
НО, как только я добавлю, например, «ÅÄÖ» в имя получателя (что даже просто8-битные символы ASCII, даже не «реальный юникод» или что-либо еще), как можно видеть выше, электронная почта просто исчезает и никогда не достигает отправителя, хотя ни методы, ни sendmail () не возвращают и не вызывают ошибки, ни что-либовнутри (я делал одношаговую отладку при этом).
Я точно знаю, что могу отправлять электронные письма с такими символами в именах получателей через тот же мой SMTP-сервер, используяобычная программа для работы с электронной почтой, такая как Thunderbird, поэтому я могу только предположить, что эта проблема связана с некоторой кодировкойr похоже?
Кроме того, решение также не должно относиться к этой mail_options=['SMTPUTF8']
штуке, потому что сервер просто отвечает, что не поддерживает это, если я пытаюсь его использовать (и опять же, электронные письма, использующиеэти точные имена получателей все еще могут быть отправлены через тот же SMTP-сервер с обычным почтовым клиентом, таким как Thunderbird).
Итак, есть ли какое-то простое решение, основанное на использовании некоторой кодировки, связанной с MIME, или аналогичнойстроки получателей, которые решат эту проблему, или как я могу отправить письмо из Python с таким именем получателя?