我有一个工作的工具,通过电子邮件发送给我一个包含原始数据的文件,我可以进入我的电子邮件并轻松下载它们,但是当我有多个文件(它作为多个电子邮件发送)时,它会变得有点单调乏味。
我正在使用python
和imaplib
登录我的电子邮件帐户,在过去一天内搜索来自已知电子邮件地址的电子邮件,然后将所有附件下载到目录。所以我认为脚本可能对此有所帮助。
我已经设置了一个gmail帐户并更改了设置,以便我可以使用来自shell的imap进行连接,但是我已经迷失了从哪里开始。
有人能指出我正确的方向,我需要做些什么来实现这一目标。
答案 0 :(得分: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