将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 中)。
贡献者
- 多内莱斯·特雷梅亚 <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的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 99577c21cea8097ac66aa2af0a86f430f86a6bdb07fa40d4fba28b100efa98a1 |
|
MD5 | 48105094ad93e25eb08082356aa481c2 |
|
BLAKE2b-256 | cd020102ecde02730f14a61222a092483b97a19c32fd907b0ddd373522602d63 |