7
用get_payload感到奇怪:當它看到它正在解碼的消息中有一個等號時,它似乎會變成垃圾。下面是顯示錯誤代碼:Python:電子郵件get_payload解碼等於打等號時失敗?
import email
data = file('testmessage.txt').read()
msg = email.message_from_string(data)
payload = msg.get_payload(decode=True)
print payload
下面是一個示例消息:test message。
該消息只打印到第一個「=」。其餘的被省略。任何人都知道發生了什麼事?
與「decode = False」相同的腳本返回完整的消息,所以它看起來解碼不等於等號。
這是在Python 2.5下。
感謝Richie,這很有效。但是,我也會處理不是文本的附件,所以我可能不想不加區分地進行重新替換。我需要檢測文本/純文本,然後只進行替換,這有點微妙,因爲當我看到消息部分的MIME類型時,我已經經過了message_from_string調用。 是否可以在get_payload調用之外單獨調用decode? – Parand 2009-04-24 22:33:19