在我的Python應用程序中,我希望能夠發送郵件至地址,如っていった@example.jp
,dé[email protected]
或甚至عرض@وزارة-الأتصالات.مصر
,這是完全有效的。使用Python/SMTPlib發送電子郵件到國際化的電子郵件地址
當傳遞地址爲UTF-8時,我得到一個UnicodeDecodeException。如果我使用address.encode('utf-8')
對地址進行編碼,則不會出現Python錯誤,但我會收到解釋爲Diagnostic-Code: smtp; 501 Malformed RCPT TO: - psmtp
的反彈郵件。
什麼是使一切工作的方式?
謝謝。
據我所知,localpart中的非ASCII字符('@'之前)是不允許的。如果非ascii,域部分('@'之後)必須是IDN編碼的。不知道蟒蛇。 – 2010-10-06 14:50:18
允許使用localpart中的非ascii字符,並且有效。那麼,事實上,在@之前幾乎任何東西都是有效的。 – Pierre 2010-10-06 15:00:04
看看這個答案:http://stackoverflow.com/a/9527510/633961 – guettli 2012-10-05 07:32:53