В моем приложении Python, я хотел бы иметь возможность отправлять почту на адреса как っていった@example.jp
, dé[email protected]
или даже عرض@وزارة-الأتصالات.مصر
, которые вполне допустимы.Отправить по электронной почте интернационализированного адрес электронной почты с Python/SMTPlib
При передаче адреса как UTF-8 я получаю исключение UnicodeDecodeException. Если я кодирую адрес с address.encode('utf-8')
, ошибки Python, но я получаю сообщение об отказе, объясняя Diagnostic-Code: smtp; 501 Malformed RCPT TO: - psmtp
.
Какой способ заставить все работать?
Спасибо.
Насколько я знаю, не-ascii-символы в локальной части (до «@») не допускаются. Доменная часть (после «@») должна быть кодирована IDN, если не-ascii. Не знаю о питоне. –
символы не-ascii в локальной части разрешены и действительны. Ну, почти все действительно действует до @, на самом деле. – Pierre
Посмотрите на этот ответ: http://stackoverflow.com/a/9527510/633961 – guettli