2016-04-12 156 views
1

接收電子郵件我想收到我的皮電子郵件,到目前爲止我從我的收件箱接收來自Gmail的電子郵件,但是我想接受他們沒有所有添加的內容,如消息ID和內容類型。我正在尋找純電子郵件正文文本。我有這個迄今爲止....在Python

import imaplib 

mail = imaplib.IMAP4_SSL('imap.gmail.com') 

mail.login('xxxxxxx', 'xxxxxx') 

mail.list 

mail.select("inbox") 


obj, data = mail.search(None, 'ALL') 

for num in data [0].split(): 

typ, data = mail.fetch(num, '(RFC822)') 

print 'Message %s\n%s\n' % (num, data[0][1]) 

mail.close() 

回答

1

嘗試通過'BODY[1]'的,而不是'(RFC822)'的字符串。

'BODY[1]'做什麼,它指定您只需要電子郵件的文本/純部分。你可以找到這個文件RFC 3501,其中詳細闡述了根據第6.4.5或第53頁

希望這有助於FETCH命令裏面!

+0

我在 類型,數據= mail.fetch(NUM 'BODY [1]') 和一堆其他得到了與此:( 文件 「email.py」,第9行的錯誤的負載第455行和第1087行中的錯誤 – JimmyJ

+0

你得到了什麼類型的錯誤?我編輯我的答案時不太具體(我沒有太多使用Python 2.x的經驗,主要是使用Python 3.4),但是字符串規範應該是正確的 –

+0

即時通訊獲取命令錯誤:壞['無法解析命令'],但它也不喜歡BODY [1]編輯 – JimmyJ

0

所以我做了我的命名文件email.py,也不會導入電子郵件的新手的錯誤!

謝謝。