用于访问IMAP帐户的面向对象API。
gocept.imapapi的Python项目详细描述
gocept.imapapi
这个包提供了一个访问imap服务器的面向对象api。它 编写它的目的是提供一个api,该api在维护时易于使用 表现不错。
内容
About
gocept.imapapi由{a16}赞助 一个面向 大学的学生门户MyTum。该项目的其他组成部分包括 gocept.restmail和cmfwebmail。
这个项目最初是由gocept gmbh & co. kg开发的。
Object-oriented API
webmail项目的首要目标之一是将 较低级别的公用事业,让其他人建立在我们的努力。
这个库提供了一个更抽象、更面向对象的 好吧,比内置的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客户机的编程更加简单 方便。
Performance
imapapi层试图保持通信的数量和大小 尽可能只在真正需要的时候检索数据并重新使用数据 恢复。
作为一个例子,正文内容在需要时才下载,甚至在 从主体结构上看,我们区分了元数据和内容。
Status
该软件包仍处于早期开发阶段,发布用于实验 目的和邀请更广泛的社区加入我们开发IMAP库 这比python内置的imaplib更加方便。
Running the tests
测试预计imap服务器在localhost:10143上可用。这个 默认的构建环境为此提供了dovecot安装。
由于我们的目标是与尽可能多的imap服务器兼容,您应该 能够在此端口上提供任何IMAP服务器,只要用户使用 已配置密码“bsdf”。
警告:不要让测试在生产系统上运行。他们可能 造成严重破坏。
CHANGES
0.5 (2011-01-31)
- 已添加文件夹。未读邮件计数。
- 添加了一些调试输出以帮助处理6830和7769。
- 使最近引入的一些日志记录更加有用,经过调整的测试。
0.4.1 (2010-11-30)
- 使测试基础结构以更稳定的顺序加载测试消息。
0.4 (2010-09-24)
- 增加了过滤标准“seen”(7263)。
0.3 (2010-08-09)
- 筛选IMAP服务器上的邮件。(4699)
0.2 (2010-08-04)
- 大量更改(有关详细信息,请参见svn日志)。
0.1 (2008-07-22)
- 初次发布。