Питання, що часто ставляться


Кирилиця в полі from при надсиланні листа через smtp

При появі помилки "Messages missing a valid address in From:n550 5.7.1 header, or having no From: header, are not accepted." - скористайтесь наступним прикладом вирішення помилки:

Якщо є кирилиця в полі from (використовуючи пакет MIMEMultipart), то сервер переводить в utf-8 не тільки ім'я, але і email, в зв'язку з чим виникає помилка. Щоб це виправити, потрібно:

1) замінити msg['From'] = 'Имя ', на msg['From'] = 'Имя'

2) діла перетворити msg в рядок, і вручну додати після закодованого імені email, напр.:

mess = msg.as_string()
mess = re.sub('(From: =?.+?=)', '1 <{}> '.format(smtp_from_mail), mess)

3) відправляємо лист
smtp.sendmail(smtp_from_mail, [smtp_to_mail], mess)