1
我用這個code來幫助我從linux服務器發送電子郵件,一切工作正常,除非如果有阿拉伯字符,所有的電子郵件將是這樣的:2YrYs9mK2KfYq9i62KfZhNix2LPZig ==電子郵件中的阿拉伯字符被解碼(Django)
注意,我使用Python 3
PS:在代碼中我行46加.encode('utf-8')
因爲我曾經得到這個錯誤「STR」不支持緩衝區接口
UPDATE:
這裏就是我送使用電子郵件功能
theemail = EmailMessage(subject, message , sender_email, recipients, headers = {
'Reply-To': sender_email, 'Content-Type':'text/html; charset=utf-8',
'From':'[email protected]', 'Return-Path':sender+' <'+sender_email+'>',
'Organization':sender, 'MIME-Version':'1.0', 'Content-Transfer-Encoding':'8bit',
'X-Priority':'3', 'X-Originating-IP':request.META.get('REMOTE_ADDR'),
'X-Mailer':'Python/3.4', 'Message-ID':make_msgid(), 'Date':datetime.datetime.now().time()})
theemail.content_subtype = "html" # though I'm still seeing the <br/> tag as a string instead of giving me a new line LOL
theemail.send()
好吧,'.encode'用於將字符串轉換爲字節,所以如果您使用它來做相反的事情,那麼您有麻煩了。請閱讀http://www.joelonsoftware.com/articles/Unicode.html你會進一步傷害你自己。 – jsbueno
,但是這個答案可能比簡單地正確編碼字符更容易理解 - 它看起來像是在標題中正確標記字符集並根據約定添加男孩的問題。在hte頭文件中的非ASCII字符(如「主題」行或「從」和「到」行)必須使用不同的標記來標記其編碼。你必須發佈你的代碼,以及你得到的實際垃圾(轉換之前和轉換之後的字符(不只是'這樣' - 需要實際結果) – jsbueno
@jsbueno我添加了我以前得到的問題如果有幫助,將.encode添加到代碼中 –