跳转到主要内容

将MailHost消息发送到标准输出的猴子补丁

项目描述

Products.PrintingMailHost

这是一个漏洞。 :)

当安装此产品时,它将检查 Zope 是否在调试模式下运行,如果是的话,将对 Zope 的 MailHost 类进行猴子补丁(即,获取内部结构,挤压紧密,然后猛烈撕扯,就像猴子一样)。这意味着 所有 对 MailHost 的使用都将“修复”,以便发送邮件时,它将消息打印到 zope 事件日志。

如果您没有本地邮件服务器进行测试,或者您希望在测试批量邮件脚本时不想给自己发送垃圾邮件,这将很有用。

如果 Zope 不在调试模式下运行,它将不会自动安装。然而,我不建议在生产网站上使用它。你永远不知道那些猴子会搞出什么名堂...

从版本 0.3 开始,您可以通过环境变量选择性地启用 PrintingMailHost。有关如何使用它的更多信息,请参阅安装说明。

兼容性

适用于 Plone 3.3、Plone 4、Plone 5.0、5.1 和 5.2(在 Python 2.7、3.6 和 3.7 中)。

作者

马丁·阿斯佩利 <optilude (AT) gmx (DOT) net>

初步想法,发布管理

贡献者

多内莱斯·特雷梅亚 <deo (AT) plonesolutions (DOT) com>

修复了同时支持旧式和新式类的问题。如果可用,还扩展到修补 SecureMailHost 中的 SecureMailBase。

克莱顿·帕克 <clayton (AT) sixfeetup (DOT) com>

毛里茨·范·里斯 <maurits (AT) vanrees (DOT) org>

哈拉尔德·弗里森内格 <harald (AT) webmeisterei (DOT) com>

Products.PrintingMailHost 安装

要在 buildout 中将 Products.PrintingMailHost 安装到您的 Plone 实例中,您可以这样做

  • Products.PrintingMailHost 添加到要安装的 eggs 列表中,例如。

    [instance]
    ...
    eggs =
        ...
        Products.PrintingMailHost
  • 如果您想在关闭调试模式时启用 PrintingMailHost

    [instance]
    ...
    environment-vars =
        ...
        ENABLE_PRINTING_MAILHOST True
  • 如果您想在开启调试模式时禁用 PrintingMailHost

    [instance]
    ...
    environment-vars =
        ...
        ENABLE_PRINTING_MAILHOST False
  • 如果 PrintingMailHost 已启用,并且您还希望将每封电子邮件发送到固定地址,您可以添加另一个环境变量

    [instance]
    ...
    environment-vars =
        ...
        PRINTING_MAILHOST_FIXED_ADDRESS admin@example.org

    或使用空格分隔的多个地址

    PRINTING_MAILHOST_FIXED_ADDRESS one@example.org two@example.org

    为了明确:这首先打印电子邮件,带有原始收件人地址,然后发送与指定固定地址相同内容的实际电子邮件。原始收件人在 To: 字段中可见。这类似于收到一封盲碳拷贝(bcc)的电子邮件,但原始收件人永远不会收到该电子邮件。

  • 重新运行 buildout 以使上述更改生效

    $ ./bin/buildout

变更日志

1.1.7 (2023-02-23)

  • 修复了启动消息中的 URL。[gforcada]

1.1.6 (2021-05-06)

  • 修复了 Python 3.9 兼容性。[thet]

1.1.5 (2020-11-02)

  • 修复了对 MailHost 4.10 的支持。(见 问题 33)。[pbauer]

1.1.4 (2020-06-10)

  • 修复了先前版本中的 SyntaxError。[tareqalam]

1.1.3 (2020-06-10)

  • 修复了 Python 3 的编码问题。[ajung]

1.1.2 (2019-03-05)

  • 恢复了与 plone.api 的兼容性。[pbauer]

1.1.1 (2019-02-28)

  • 增加了对 Python 3 的支持。[pbauer]

1.1.0 (2018-06-08)

  • 在 Zope2 的 initialize 中检查环境变量,而不是在导入时。这允许在 zope.conf 中配置环境变量,并在使用 slc.zopescript 启动实例时使用它们。[fRiSi]

1.0 (2016-09-20)

  • FIXED_ADDRESS 作为列表处理。之前,根据您的 Plone 版本,固定地址可能会被解释为单字符电子邮件地址的列表,这当然是不行的。现在它可以正确工作了。您还可以通过空格分隔来提供地址列表:one@example.org two@example.org。修复了 https://github.com/collective/Products.PrintingMailHost/issues/4 [maurits]

0.8 (2015-04-16)

  • 添加环境变量 PRINTING_MAILHOST_FIXED_ADDRESS 以将所有电子邮件发送到单个固定地址。PrintingMailHost 仍然需要启用,所以这是在打印之外。[maurits]

  • 由于我们可以通过环境变量启用 PMH,并且在不在调试模式/前台运行时,电子邮件不再打印,而是写入 zope 事件日志。[pysailor]

0.7 (2010-01-05)

  • 如果可用,请也修复(安全)MaildropHost。 [maurits]

0.6 (2010-01-05)

  • 允许传递关键字“立即”。需要与Plone 4兼容。 [maurits]

0.5 (2009-08-07)

  • 修复电子邮件消息导入 [claytron]

0.4 (2009-07-24)

  • 对多部分电子邮件消息的粗略支持 [iElectric]

0.3 (2009-03-22)

  • 解码base64编码的电子邮件消息 [claytron]

  • 添加环境变量(ENABLE_PRINTING_MAILHOST)以启用或禁用PrintingMailHost [claytron]

  • 更新README和HISTORY.txt [claytron]

0.2 (2008-08-20)

  • 以egg形式发布到PyPi [claytron]

0.1

  • 更新为使用新的标准日志机制:logging.getLogger。重新格式化消息/文档字符串。[dtremea] (2006-03-17)

  • 扩展到也修复SecureMailBase(如果可用)从SecureMailHost。[dtremea] (2005-10-23)

  • 修复了同时与旧式和新式类一起工作的问题,因为在后一种情况下,dict是“dictproxy”实例,它没有setitem方法。版本号已更新。已记录更改。当然,还要清理空白符…… ;-) [dtremea] (2005-10-23)

  • 初始创建/发布 [optilude] (2005-04-05)

项目详细信息


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装软件包的更多信息。

源代码分发

Products.PrintingMailHost-1.1.7.tar.gz (12.2 kB 查看哈希值)

上传时间 源代码

由以下机构支持

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误日志StatusPageStatusPage状态页面