面向人类的python imap

imbox的Python项目详细描述


Build Status

用于读取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)

更改日志

Changelog

运行测试

您可以使用tox运行imbox测试。

要求:
  • 支持的python版本
  • tox。tox被包装成debian和衍生物分布。

在ubuntu上,您可以使用以下命令安装几个python版本:

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.X

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何使用从PreparedStatement返回的RowId。getGeneratedKeys()?   selenium chrome驱动程序中下一个网站url的java空白页   java如何将参数化匿名类转换为lambda?   java JUnit在AfterClass上获取测试结果   java将动态XML/JSON内容与静态标记化负载进行比较,并检索标记值   java共享一个需要数据持久性的项目[数据库]   java在调用方法时获取意外的参数类型。getParameterTypes()   java如何用jdbc在swing中用另一个字段替换外键?   需要java Jersey Tomcat CDI依赖项解释   java如何生成UML图   java如何编写Jersey rest服务可以通过给定的spring代码访问   SpringMaven存储库管理器Nexus与Java依赖项的Artifactory   java将包从另一个项目导入eclipse中的当前项目   加密Java使用密码加密文件