[英]Using Imap - Mail encoding weirdness
我正在使用imap從服務器檢索郵件,工作正常。 我正在讀取RFC 822中的郵件,如下所示:
r, data = mailserver.fetch(mailnr, '(RFC822)')
這給了我大部分可辨認的郵件,但現在我有一個如下所示的多部分郵件:
來自:xxx xxx
收件人:xxx xxx
主題:=?utf-8?Q?online_verf = C3 = BCgbar _-_ TESTQUELLE_f = C3 = BCr_Regel?= =?utf-8?Q?-_ u_Benachrichtigungdienst _()?=
內容類型:multipart / alternative; 邊界= “---- = _ NextPart_457512452482695058637”
內容傳輸編碼:無
MIME版本:1.0
有效載荷:
= 20 = 20 sourcename:TESTQUELLE f = C3 = BCr Regel- u Benachrichtigungdienst; csi:123456 =; publishdate:05 = 2E11 = 2E2013
郵件似乎是utf-8但不知何故文本也是網址編碼或類似的東西。
它似乎只編碼url而不是“%”“=”。
關於我如何讓它看起來像普通文本的任何想法?
數據似乎是已編碼為UTF-8的unicode文本,然后編碼為quotable-printable。 有一個模塊“ quopri
”來編碼/解碼這個 - http://docs.python.org/3.3/library/quopri.html 。
如果你使用quopri.decodestring
解碼為UTF-8,然后將其解碼為unicode,yuo應該能夠讀取它。
終於找到了這個:
mail.get_payload(decode=1).decode('utf-8')
我只使用了給我字符串的get_payload()。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.