面向对象的访问IMAP账户的API。
项目描述
gocept.imapapi
本软件包提供了一个面向对象的API来访问IMAP服务器。它被编写来提供一个简单易用且性能良好的API。
关于
gocept.imapapi 由慕尼黑工业大学赞助,作为一项旨在为大学学生门户MyTum开发集成网络邮件系统的研究合作项目的一部分。该项目还包括其他组件,如gocept.restmail和CMFWebmail。
该项目最初由gocept gmbh & co. kg开发。
面向对象API
网络邮件项目的一个首要目标是提取底层实用程序,以便其他人可以在我们的努力基础上构建。
这个库旨在提供比内置的imaplib更好的抽象、更面向对象、更“pythonic”的方法。
让我们给您举一个我们觉得好的API的例子
>>> from gocept.imapapi import Account >>> account = Account('localhost', 10143, 'tim', 'mightywizard') >>> account.folders.keys() ['INBOX'] >>> account.folders['INBOX'].messages <Messages object at 0x...> >>> for message in account.folders['INBOX'].messages.values(): ... repr(message.headers['subject']) u'Re: your spell from last week' u'Enlarge your magic wand!'
观察此示例时,会想到的一些方面
基于协议特定性的对象模型
使用原生Python数据结构
尽可能早地解码协议特定数据(参见unicode头信息)
采用这种方法,我们试图使IMAP客户端编程更加简单和方便。
性能
imapapi层试图将通信的数量和大小保持尽可能小,仅在真正需要时检索数据,并重复使用已检索的数据。
例如,正文内容只有在需要时才会下载,甚至在查看正文结构时,我们也会区分元数据和内容。
状态
此包仍在早期开发中,发布用于实验目的,并邀请更广泛的社区加入我们,共同开发一个比Python内置的imaplib更方便的IMAP库。
运行测试
测试预计IMAP服务器将在本地主机:10143上可用。默认的buildout环境为此提供了一个dovecot安装。
由于我们旨在与尽可能多的IMAP服务器兼容,因此您应该能够在此端口上提供任何IMAP服务器,只要配置了一个名为“test”的用户,密码为“bsdf”。
警告:不要在生产系统上运行测试。它们可能会造成混乱。
CHANGES
0.5 (2011-01-31)
添加了Folder.unread_message_count。
添加了一些调试输出,以帮助解决#6830和#7769。
使一些最近引入的日志更实用,并调整了测试。
0.4.1 (2010-11-30)
使测试基础设施以更稳定的顺序加载测试消息。
0.4 (2010-09-24)
添加了过滤标准“已读”(#7263)。
0.3 (2010-08-09)
在IMAP服务器上过滤消息。(#4699)
0.2 (2010-08-04)
有很多变化(请参阅svn日志以获取详细信息)。
0.1 (2008-07-22)
初始版本。
gocept.imapapi-0.5.tar.gz的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4cf915a3b0a9080709026f1111a13af0b90713456227572fe99de94b4e58da23 |
|
MD5 | 97272b43917378afb415f6d9cfc18f1a |
|
BLAKE2b-256 | 85f98bc99cb65ad6d3a86dea1df501731fcd266a574bb583aa13554ba7a76cbc |