2017-05-16 146 views
0

我有一個工具,通過電子郵件發送給我一個包含原始數據的文件,我可以進入我的電子郵件並輕鬆下載它們,但是當我有多個文件(它以多個電子郵件發送)時,有點乏味。IMAP與python下載附件

我正在使用pythonimaplib登錄我的電子郵件帳戶,在過去一天內搜索來自已知電子郵件地址的電子郵件,然後將任何附件下載到目錄。所以我認爲一個腳本可能在這裏幫助。

我已經設置了一個gmail帳戶並更改了設置,以便我可以使用imap從外殼進行連接,但是我失去了從這裏開始的地方。

有人能指出我正確的方向,我需要做些什麼才能做到這一點。

回答

0

這裏是分叉斷imaplib存儲庫(與Python3.6生產的兼容,沒有測試其它版本)

https://github.com/christianwengert/mail

下面的代碼片段檢查所有看不見的消息,然後返回它們的附件:

server = IMAPClient(imap, use_uid=True, ssl=993) 
server.login(username, password) 
server.select_folder('INBOX') 
message_ids = server.search([b'NOT', b'SEEN']) # UNSEEN 
messages = server.fetch(message_ids, data=['ENVELOPE', 'BODYSTRUCTURE', 'RFC822.SIZE']) 

for mid, content in messages.items(): 
    bodystructure = content[b'BODYSTRUCTURE'] 
    text, attachments = walk_parts(bodystructure, msgid=mid, server=server) 

HTH