面向人类的python imap
imbox的Python项目详细描述
用于读取IMAP邮箱和将电子邮件内容转换为机器可读数据的Python库
要求
Python(3.3、3.4、3.5、3.6)
安装
pip install imbox
用法
fromimboximportImbox# SSL Context docs https://docs.python.org/3/library/ssl.html#ssl.create_default_contextwithImbox('imap.gmail.com',username='username',password='password',ssl=True,ssl_context=None,starttls=False)asimbox:# Get all foldersstatus,folders_with_additional_info=imbox.folders()# Gets all messages from the inboxall_inbox_messages=imbox.messages()# Unread messagesunread_inbox_messages=imbox.messages(unread=True)# Flagged messagesinbox_flagged_messages=imbox.messages(flagged=True)# Un-flagged messagesinbox_unflagged_messages=imbox.messages(unflagged=True)# Flagged messagesflagged_messages=imbox.messages(flagged=True)# Un-flagged messagesunflagged_messages=imbox.messages(unflagged=True)# Messages sent FROMinbox_messages_from=imbox.messages(sent_from='sender@example.org')# Messages sent TOinbox_messages_to=imbox.messages(sent_to='receiver@example.org')# Messages received before specific dateinbox_messages_received_before=imbox.messages(date__lt=datetime.date(2018,7,31))# Messages received after specific dateinbox_messages_received_after=imbox.messages(date__gt=datetime.date(2018,7,30))# Messages received on a specific dateinbox_messages_received_on_date=imbox.messages(date__on=datetime.date(2018,7,30))# Messages whose subjects contain a stringinbox_messages_subject_christmas=imbox.messages(subject='Christmas')# Messages from a specific foldermessages_in_folder_social=imbox.messages(folder='Social')foruid,messageinall_inbox_messages:# Every message is an object with the following keysmessage.sent_frommessage.sent_tomessage.subjectmessage.headersmessage.message_idmessage.datemessage.body.plainmessage.body.htmlmessage.attachments# To check all available keysprint(message.keys())# To check the whole object, just writeprint(message){'headers':[{'Name':'Received-SPF','Value':'pass (google.com: domain of ......;'},{'Name':'MIME-Version','Value':'1.0'}],'body':{'plain':['ASCII'],'html':['HTML BODY']},'attachments':[{'content':<StringIO.StringIOinstanceat0x7f8e8445fa70>,'filename':"avatar.png",'content-type':'image/png','size':80264}],'date':u'Fri, 26 Jul 2013 10:56:26 +0300','message_id':u'51F22BAA.1040606','sent_from':[{'name':u'Martin Rusev','email':'martin@amon.cx'}],'sent_to':[{'name':u'John Doe','email':'john@gmail.com'}],'subject':u'Hello John, How are you today'}# With the message id, several actions on the message are available:# delete the messageimbox.delete(uid)# mark the message as readimbox.mark_seen(uid)
更改日志
运行测试
您可以使用tox运行imbox测试。
- 要求:
- 支持的python版本
- tox。tox被包装成debian和衍生物分布。
在ubuntu上,您可以使用以下命令安装几个python版本:
sudo add-apt-repository ppa:deadsnakes/ppa sudo apt update sudo apt install python3.X