为应用程序提供集中式邮件存储库,以便使用。
项目描述
repoze.postoffice README
repoze.postoffice 为收集传入的电子邮件并提供给多个应用程序消费提供了一个集中式存储库。传入的邮件根据规则被分类到队列中,预期每个应用程序将消费自己的队列。每个队列是一个先进先出(FIFO)队列,因此消息按接收顺序进行处理。
ZODB 用于存储,同时也用于提供客户端接口。 repoze.postoffice 客户端创建 ZODB 连接并操作模型。这使得在事务上下文中消费消息队列相对简单。
请参阅 docs/index.rst 以获取完整文档。
repoze.postoffice 变更日志
0.25 (2014-09-30)
为将管理自己的数据库连接的应用程序引入了“find_queue”函数,作为“open_queue”的替代。
0.24 (2013-10-10)
避免对 BCC'ed 消息(那些在 X-Original-To 不在 To 或 CC> 中)进行节流,因为它们不能成为循环的一部分。
接受具有相同 Message-ID 标头但不同 X-Original-To 标头的消息作为非重复消息。理由:在添加 X-Original-To 的系统(postfix 默认添加)中,它的存在表示发送给不同的用户;我们应该允许它被排队以尝试处理。
0.23 (2013-07-31)
启用配置 to_hostname 过滤器所考虑的标题。
更新 to_hostname 过滤器中考虑的标题,默认包括 X-Original-To。此标题由 Postfix 设置以匹配信封接收者;包括它允许匹配那些域名被 BCC 或来自邮件列表的消息。
0.22 (2013-07-26)
避免在日志消息时出现错误,例如某些客户端在 To: / From: / Subject: 标题中不转义非 ASCII 字符。请参阅 LP #1202770。
更优雅地处理 ToHostName 过滤器中的损坏地址。
将文档转换为 Sphinx。
将仓库迁移到 Github。
0.21 (2012-09-05)
使正则表达式过滤器区分大小写。
0.20 (2012-05-14)
仅在 open_queue 中关闭我们创建的数据库。
0.19 (2012-05-10)
允许调用应用程序向 open_queue 提供已打开的数据库。(LP #985546)
0.18 (2012-04-19)
添加了当提供未知字符编码时的优雅降级。
0.17 (2011-09-26)
为队列中的消息添加了标题“X-Postoffice-Date”。它记录了每个消息接收的时间(自纪元以来的秒数)。它设置为 maildir 消息文件的修改时间。
0.16 (2011-06-30)
添加了对由垃圾邮件生成器生成的疯狂日期标题的更好的容错性。(LP #697033)
0.15 (2011-06-15)
现在,正文检查是多行正则表达式检查。(LP #787573)
0.14 (2011-05-17)
修复了 zodb_uri 可能是 Unicode 的问题,这最终破坏了 ZEO 客户端的 ZEO URI。现在 zodb_uri 转换为 UTF-8 字符串。
0.13 (2011-05-05)
修复了标题过滤器在标题中包含非 ASCII 字符时无法正常工作的问题。(LP #777455)
修复了正则表达式正文过滤器错误解析“Content-Type”标题以提取 Mime 部分的字符集的问题。
0.12 (2011-04-25)
尊重规则文件中的前后空白。
0.11 (2011-04-25)
当消息被过滤器拒绝时,将记录一条消息,显示哪个过滤器触发了拒绝。
0.10 (2011-04-20)
改进的日志输出现在包括时间戳。
解决了 stdlib 电子邮件解析器中的(可能的)错误,其中消息部分可能在“Content-Type”标题中设置字符集,但 message.get_charset() 返回 None。
0.9 (2011-04-15)
添加了对损坏电子邮件地址的更高容错性。(向垃圾邮件发送者挥手。)
添加了基于正则表达式匹配的四种新过滤器类型: header_regexp、header_regexp_file、body_regexp、body_regexp_file。有关如何使用这些新过滤器,请参阅 README.txt。
全局配置中添加了新选项: reject_filters。这允许您在全局级别设置过滤器以拒绝某些消息。有关更多信息,请参阅 README.txt。
0.8 (2011-01-14)
“to_hostname”过滤器现在解析多个电子邮件地址,并检查“Cc”标题以及“To”标题。(LP #659243)
如果在24小时内接收到多个相同的Message-Id的消息,它们被认为是重复的,除了第一个之外的所有消息都被丢弃。(LP #659243)
0.7 (2010-09-15)
修复了另一个问题,即不遵守RFC 2047规范的头信息可能导致抛出异常。(LP #637484)
0.6 (2010-09-13)
向API添加了Queue.requeue_quarantined_messages()便捷方法。
允许在‘to_hostname’过滤器中存在多个主机。(LP #614528)
为不遵守RFC 2047规范的头信息添加了优雅降级,以避免当垃圾邮件机器人发送格式错误的消息时崩溃。(LP #637484)
0.5 (2010-08-03)
将“X-Postoffice: Bounced”头添加到外发退信和隔离消息中。在导入消息时检查该头的存在,并丢弃包含该头的任何消息。这是为了防止退信消息可能反弹回系统中。(LP #612587)
现在,具有与“From”头完全匹配的“To”头的入站消息被视为可能的垃圾邮件并被丢弃。(LP #612588)
0.4 (2010-07-30)
修复了处理包含非ascii unicode字符的退信消息正文的bug。
0.3 (2010-07-20)
修复了在计算瞬时消息频率时发生的除以零错误。
修复了repoze.postoffice.queue.open_queue中的bug,如果在队列名称上发生KeyError,ZEO连接将保持打开状态。
0.2 (2010-06-29)
修复了解析没有值的头的bug。
添加了在办公室外循环检测中使用任意消息头作为区分值的选项。
当消息超过最大消息大小、被节流或被发现是自动响应时,它们不再被丢弃。相反,这些消息将添加一个带有拒绝原因的“X-Postoffice-Rejected”头,然后这些消息可以通过正常方式由客户端消费。客户端需要检测“X-Postoffice-Rejected”头并采取适当的行动。此更改是为了允许客户端确定在满足这些条件的情况下是否应该生成任何类型的退信消息。
0.1 (2010-06-03)
初始发布。
项目详情
repoze.postoffice-0.25.tar.gz的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 791a17fafc66f58ea976f0b11b12bb4208bd6b3a260cc18f3919521ae6a0f397 |
|
MD5 | a35d2b693133f20c91a1bc9d8060b2b7 |
|
BLAKE2b-256 | 17fc0d30131dd129dec51583aab7c20968823f3a7d5b73d67c9d4b22a82d06c5 |