2017-05-16 142 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