Zope Sendmail公司
zope.sendmail的Python项目详细描述
zope.sendmail
sendmail是一个用于从zope 3应用程序发送电子邮件的包。 Zope 3应用程序发送的电子邮件的工作方式如下:
zope 3应用程序定位邮件传递实用程序 ( imaildelivery )并向其发送消息。它得到了一个独特的 消息ID,以便它可以通过订阅 imailevent 事件。
该实用程序向事务系统注册,以确保 仅当事务提交成功时才发送消息。 (除其他外,这避免了 冲突错误 )
如果传递实用程序是iqueudMailDelivery,它将 消息进入队列(文件系统中的maildir邮箱)。一 单独的进程或线程( imailqueueprocessor )监视队列 并异步传递消息。因为队列位于 文件系统,它可以在zope重启或崩溃后存活,邮件是 没有失去。队列处理器可以实现批处理以保持 服务器负载低。
如果传递实用程序是IDirectMailDelivery,它将传递 在事务提交期间同步发送消息。这不是 很好的主意,因为它让用户等待。注意交易 提交不能失败,但这不是问题,因为邮件 交付问题发送事件而不是引发异常。
但是,有一个问题-发送事件会导致未知代码 在事务提交阶段执行。应该有一个 在此之后启动新事务以进行事件处理的方法是 承诺。
实际上是一个imailqueueprocessor或idirectmaildelivery 通过使用mailer( imailer )组件传递消息 封装传递过程。目前只有一个 梅勒:< >
ismtpailer 使用SMTP将所有邮件发送到中继主机。