提供邮件内容类型和邮件行为
项目描述
简介
ftw.mail 提供了一个基于 dexterity 的邮件内容类型,允许您将电子邮件上传到您的 Plone 网站。这包括提取电子邮件的重要数据,如
附件
邮件头
正文文本
解包附加的电子邮件 (msg)。
邮件入站功能
ftw.mail的主要功能是收件箱功能。收件箱功能允许您直接将电子邮件发送到您的Plone网站。发送到Plone的电子邮件将被提取并自动创建为邮件内容类型。
安全
必须有一个注册用户,并且该用户的电子邮件地址与发件人地址匹配。
用户必须具有足够的权限在文件夹中添加邮件对象。
电子邮件将以发件人的安全上下文创建。
电子邮件地址是什么?
电子邮件地址的本地部分是唯一标识符,用于标识相应的文件夹对象。默认实现使用对象的UUID。如果可添加ftw.mail.mail内容类型,则邮件入站地址将自动显示在视图小部件中。
安装
将ftw.mail添加到您的buildout配置中。
[instance] eggs += ftw.mail
安装通用设置导入配置文件。
启用邮件入站功能
将mta2plone.py脚本放置在服务器PATH的某个位置。请确保mta2plone.py是可执行的(chmod +x mta2plone.py)。
在/etc/postfix/virtual中的示例Postfix配置
inbound.example.org anything @inbound.example.org inbound-example
在/etc/aliases中的示例
inbound-example: "|/path/to/mta2plone.py http://127.0.0.1:8080/Plone/mail-inbound"
记住在更新/etc/aliases后运行newaliases命令(作为root),以便Postfix能够获取更改。
对于本地测试,还可以在控制台中启动mta2plone.py并将原始邮件粘贴到STDIN中。
./mta2plone.py http://127.0.0.1:8080/Plone/mail-inbound recipient-email
(由于mta2plone.py脚本将从STDIN读取,您需要在粘贴邮件内容后使用CTRL-D发送EOF。)
兼容性
与Plone 4.3兼容。
链接
版权
本软件包版权由4teamwork所有。
ftw.mail根据GNU通用公共许可证,版本2进行许可。
更改日志
2.8.0 (2024-01-03)
删除对已弃用的plone.directives.form的依赖。 [buchi]
2.7.7 (2023-04-04)
修复邮件附件文件名提取中的unicode解码错误。 [njohner]
2.7.6 (2023-03-30)
进一步改进附件文件名提取。 [njohner]
2.7.5 (2023-01-31)
处理更多被截断的附件文件名情况。 [lgraf]
2.7.4 (2022-11-15)
处理附件的截断文件名。 [phgross]
2.7.3 (2021-10-22)
使从邮件主题提取标题对错误更具有容错性。 [phgross]
2.7.2 (2021-07-27)
修复附加到邮件的邮件的下载。 [njohner]
对于缺少文件名的eml附件,使用邮件主题作为文件名。 [njohner]
2.7.1 (2021-07-07)
处理EML附件缺少文件名的情况。 [njohner]
2.7.0 (2020-06-09)
为签名/多部分消息附件添加特殊处理。 [deiferni]
2.6.2 (2020-06-08)
当编码单词不以空格分隔时,改进头部解码。 [mbaechtold]
2.6.1 (2019-07-08)
修复存在未初始化的头部缓存时的升级问题。 [deiferni]
2.6.0 (2019-03-22)
停止支持Plone 4.2。 [lgraf]
在入站邮件视图中记录常见错误。 [lgraf]
2.5.5 (2018-09-21)
递归嵌套多部分附件的大小。 [Rotonen]
2.5.4 (2017-11-24)
修复无效邮件日期的处理。 [njohner]
2.5.3 (2017-11-23)
修复电子邮件的日期排序。 [njohner]
2.5.2 (2017-07-11)
清理:还原LWSP正则表达式,并将v2.5.1中的更改移动到单独的正则表达式,因为它们解决不同的问题。
2.5.1 (2017-05-23)
从头部中删除换行符,即使在编码单词中也是如此。email模块的decode_header在解析之前分割头部,这破坏了编码单词,并阻止它们被解码。 https://github.com/python/cpython/blob/2.7/Lib/email/header.py#L78 [lknoepfel]
2.5.0 (2017-05-22)
将创建邮寄邮件的功能移至适配器,以允许更容易的定制。[deiferni]
2.4.1 (2017-05-22)
修复在传入邮件上设置具有命名词汇的默认选项。[phgross]
2.4.0 (2016-07-19)
使用标记接口标记传入请求。[phgross]
停止对Plone 4.1的支持。[phgross]
修复“ftw.mail.mail”的德语和法语FTI标题。[mbaechtold]
2.3.7 (2015-09-08)
修复文本/html MIME部分中损坏的<meta />标签。[lgraf]
2.3.6 (2015-09-02)
对Mailtab进行排序,使最新邮件成为第一个项目。[tschanzt]
2.3.5 (2015-08-20)
将升级步骤改为更具有防御性,以避免因缓存异常而在升级过程中出现麻烦。[lgraf]
2.3.4 (2015-08-19)
确保message.contentType以str形式存储,而不是以unicode形式存储。否则,在尝试再次保存对象时将导致“错误的包含类型”。包括升级步骤以修复现有对象。[lgraf]
2.3.3 (2015-08-03)
get_header():修复RFC 2047编码的单词,这些单词由“CRLF LWSP”分隔(根据RFC是正常的),通过将CRLF替换为空格,以便decode_header可以正确解析它们。这解决了decode_header中已修复的bug,在3.3中已修复。请参阅http://bugs.python.org/issue4491及其副本。[lgraf]
2.3.2 (2015-06-30)
使Apple部分编码的正则表达式更具体,这样我们就不会意外地删除需要引号的头部部分的引号。[lgraf]
添加了zip导出测试。[lknoepfel]
2.3.1 (2015-03-12)
重构邮件视图以包含所有HTML部分。[jone]
2.3.0 (2015-03-02)
为邮件启用可引用行为。[jone]
2.2.3 (2014-10-24)
使用premailer转换在邮件内部解析<style>标签。[phgross]
使用safe-html转换将邮件体显示为XSS保存。[phgross]
修复生成邮件中图像附件链接时的问题。[deiferni]
2.2.2 (2014-08-28)
对于声明了不正确字符集的邮件,作为最后的手段尝试将它们解码为latin1,忽略所有错误。[lgraf]
对于可搜索文本扩展器:不仅解码Content-Transfer-Encoding,而且还使用声明的字符集解码实际内容。[lgraf]
2.2.1 (2014-05-30)
修复从2.2.0升级的brown bag步骤。[jone]
2.2.0 (2014-05-28)
性能改进
在对象上存储邮件主题的标题,这样我们就不必读取消息来在访问时检索标题。
在邮件对象上缓存附件信息。
缓存标签视图的标题。
[jone]
确保只有默认值将为IMailSettings.mail_domain设置,但在运行升级步骤两次时不会覆盖现有值。[lgraf]
2.1.1 (2014-05-12)
传入视图:在查找默认值适配器时,将容器作为上下文而不是内容进行适配。[lgraf]
传入视图:在为新创建的对象设置默认值时,删除AQ包装,以免在检查对象上是否已存在字段时得到虚假结果(由于获取)[lgraf]
修复Apple Mail中的From-/To-/Cc-Header编码问题。[jone]
使主字段也适用于dexterity-1安装。[phgross]
添加了I. Anthenien的法语翻译。[lknoepfel]
2.1.0 (2014-03-28)
删除“validate_sender”配置设置。我们始终要求发送者有效。[jone]
重构传入视图,以便更容易进行定制和错误处理。[jone]
改进可搜索文本以递归索引附件。[jone]
在升级步骤到2000中添加了注册条目“mail_domain”。[lknoepfel]
通过使用兼容的ftw.workspace版本修复Plone 4.1.x - 4.2.x的测试。[mathias.leimgruber]
2.0 (2013-10-21)
使邮件选项卡日期解析更稳健。[jone]
禁用邮件选项卡中标题信息列的排序。由于信息不在目录中,当前无法对标题信息进行排序。当我们不在目录外进行排序时,我们可能会在有许多邮件时遇到性能问题,因此我们目前将其禁用。[jone]
使用Plone默认类进行表格样式。[Julian Infanger]
修复传入视图中的响应内容类型。[lknoepfel]
撤销“ftw.mail: 添加邮件”权限。此权限使“邮件”类型显示在添加菜单中。只有管理员(经理)应该能够通过添加菜单添加新邮件,常规使用情况是通过入站发送邮件。还将立法者提示更改为忽略此权限。[jone]
添加ftw.lawgiver支持。[mathias.leimgruber]
为ftw.workspace添加邮件标签。[mathias.leimgruber]
实现邮件查看器。[mathias.leimgruber]
添加readme。[mathias.leimgruber]
添加IEmailAddress适配器,使其易于更改生成目的地电子邮件地址的行为以及获取给定电子邮件地址的目的地。(已删除目的地解析器)[mathias.leimgruber]
添加uuid支持并删除intid。[mathias.leimgruber]
使用view.pt作为邮件内容类型的默认视图。[mathias.leimgruber]
取消冻结包。[mathias.leimgruber]
修复plone 4.3的测试设置和intid。[mathias.leimgruber]
添加plone 4.3.x测试配置和开发配置。[mathias.leimgruber]
1.0.4 (2012-09-12)
在创建入站邮件时设置所有字段的默认值。问题 #222 元数据位置和语言 https://extranet.4teamwork.ch/support/ph-vs/tracker/222/ [philippegross]
1.0.3 (2012-06-18)
修复了解析html正文时BeautifulSoup相关的编码错误。[lgraf]
修复文件名编码处理。[jone]
1.0.2 (2012-03-28)
入站邮件:从由MTA设置的env变量中获取收件人,而不是从To标题中获取。这允许To标题中有多个收件人的邮件,Plone目的地地址不再需要排在第一位。问题 #1312 错误:带有多个地址的电子邮件 https://extranet.4teamwork.ch/projects/opengever-kanton-zug/sprint-backlog/1312/ [lgraf]
在测试中使intids工作(显式注册IIntIds实用程序)[lgraf]
1.0.1 (2012-02-24)
添加了一些法语翻译[ttschanz]
1.0 (2011-11-17)
修复了msg获取器,现在它也可以在没有主题的邮件上工作。[phgross]
1.0a11 (2011-10-04)
在创建email.message对象之前修复了过长主题标题的错误。[lgraf]
添加了测试以测试带有奇怪字符的主题的邮件创建。[lgraf]
在使用它作为ID创建邮件对象之前规范化主题。[lgraf]
将默认编码更改为“utf-8”以用于safe_utf8方法。应修复邮件主题中的解码问题。问题 #1209 错误:导入的邮件中的假元音 https://extranet.4teamwork.ch/projects/opengever-kanton-zug/sprint-backlog/1209 [phgross]
1.0a10 (2011-09-27)
更改了get_payload方法中的回退编码,对于没有正确字符集信息的msg对象。因此,我们可以修复邮件体中非ascii字符的显示错误。[phgross]
将已弃用的grok.CodeView更改为grok.View [eschmutz]
添加了plone 4.1的测试buildout [eschmutz]
1.0a9 (2011-08-24)
修复测试 [eschmutz]
实现Blob支持,现在使用NamedBlobFiles而不是NamedFiles [phgross]
问题 #1134 Test Gelb 2.0.3:从带有重音符号的邮件中提取文档时文件扩展名不正确 https://extranet.4teamwork.ch/projects/opengever-kanton-zug/sprint-backlog/1134/ 在get_filename方法中添加回退以处理已解码的文件名元组 [phgross]
1.0a8
修复了消息值创建:文件名必须是Unicode,这样才能与新的plone.namedfile 1.0.3一起使用 [phgross]
为
属性添加了虚拟设置器,这样在尝试设置ftw.mail.mail对象的标题时就不会出现AttributeError。[lgraf] 在setup.py中添加了对collective.dexteritytextindexer的缺失依赖项 [lgraf]
在test-plone-4.0.x.cfg中将zope.component锁定为3.8.0以解决版本冲突 [lgraf]
1.0a7
添加DynamicTextIndexExtender以将消息体添加到searchableText中 [lgraf]
1.0a6
更改了德语翻译中的小错误 [phabegger]
1.0a5
根据rfc 2047,多个编码单词由空格分隔:修复了测试。[jbaumann]
创建了一个名为 safe_decode_header 的工具函数,该函数根据 rfc 2047 正确处理 get_filenames 的编码。这解决了测试问题。[jbaumann]
增加了对嵌套的多部分电子邮件的支持,其中附件位于消息的另一部分中。[jbaumann]
1.0a4
1.0a3
删除了 save_attachments:由于它是 opengever 特定的,已移动到 opengever.mail。[2010年11月2日,jbaumann]
添加了 remove_attachments 方法。[2010年11月1日,jbaumann]
添加了对文件名编码问题的测试。测试仍然失败… [Thomas Buchberger]
将附件消息的解包移动到工具方法中。添加了测试。[Thomas Buchberger]
在创建邮件后正确恢复当前的 SecurityManger。[Thomas Buchberger]
添加了对未知发送者的测试。[Thomas Buchberger]
1.0a2
1.0
初始发布
项目详情
ftw.mail-2.8.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4f8d28fbf517d2278266fa8f85f5c03c790de6fe108de3134dae443fa65e907f |
|
MD5 | 424d01fc4d59617dae38549562f69805 |
|
BLAKE2b-256 | b3b11d814c00d5e8a9bf2de78fcdfa939c363d43f186f5172f2b3facec06f64a |