跳转到主要内容

在Poi问题跟踪器中接收电子邮件

项目描述

简介

此包定义了一个浏览器视图@@poimail,它从请求中读取电子邮件并为该电子邮件创建问题或向问题添加响应。它是smtp2zopeProducts.Poi之间的桥梁。

兼容性

poi.receivemail已经与Plone 4.3和Poi 2.3进行了测试。自版本3起,它使用plone.api。对于早期版本,请使用poi.receivemail 2.x。

用法

标准设置如下

  • 您有一个位于http://example.org/的Plone网站。

  • 该Plone网站在其eggs中包含Products.Poipoi.receivemail

  • 该网站在http://example.org/tracker处有一个Poi跟踪器。

  • 您在同一台机器上安装了smtp2zope(可能在同一个buildout中,但虚拟env也行),其脚本位于/path/to/smtp2zope

  • 在这台机器上有一个具有类似以下别名的邮件服务器

    helpdesk@example.org "|/path/to/smtp2zope http://example.org/tracker/@@poimail"

    或这样

    helpdesk@example.org "|/path/to/smtp2zope http://admin:secret@example.org/tracker/@@poimail 1000000"
  • 现在,当有人向helpdesk@example.org发送电子邮件时,将在跟踪器中创建一个新的问题。如果电子邮件的主题与现有问题匹配,它将被添加为对该问题的响应。

  • 如果在Plone网站中找到一个与发件人地址匹配的用户,我们在创建问题或响应时假装是那个用户。否则,创建者是匿名用户,或者是通过传递给smtp2zope的url中的基本身份验证识别的用户。

变更日志

3.0.1 (2017-11-13)

  • 直接创建具有适当ID的问题。重命名可能会在结合我们的adopt_user和adopt_roles时导致难以调试的权限问题。[maurits]

3.0.0 (2017-10-31)

  • 将附件存储为blob。例如原始电子邮件消息。[maurits]

  • 不再支持Python 2.4,因为我们使用plone.api。官方不再支持2.6,对于Plone 4.2及更早版本,但可能仍然可行。[maurits]

  • 使用plone.api来采用不同的用户和角色。这更干净,应该可以避免虚假用户没有用户ID的问题。[maurits]

2.0.1 (2017-08-18)

  • 在info级别记录发件人和主题。[maurits]

  • 捕获了几个创建的问题无效的案例。这会导致工作流异常,这意味着问题从未被添加。这可能会发生在收到HTML邮件且详细信息字段中不允许的MIME类型时。现在我们转换邮件文本为默认问题MIME类型。如果问题仍然无效,我们捕获工作流异常并创建问题,因为没有简单的方法向发件人发出此信号。然后问题具有new状态,但这可能不在Poi用户界面中可见。[maurits]

2.0 (2017-01-02)

  • 在伪造管理员之前检查NEEDED_PERMISSIONS。如果用户已经拥有所需的权限,就没有必要伪造管理员。[maurits]

  • 尽可能伪造一个TrackerManager而不是Manager。这个角色是在Products.Poi 2.2(Plone 4)中引入的。当FAKE_MANAGER为true时,这将是默认的。这只会发生在指定的IP地址上。[maurits]

  • 修复了Plone 4的问题创建。发布问题会失败,因为没有可用的post转换。这是因为在Plone 4中,这会在IObjectInitializedEvent上自动发生。现在我们只有在审核状态仍然是new时才执行转换。[maurits]

1.13 (2016-12-09)

  • 修复了包:不要使用符号链接。[maurits]

1.12 (2016-12-09)

  • 进行更多解码。每个部分都可以有自己的编码。我们应该使用这些编码来使内容可读。[maurits]

  • 在几种情况下从quoted printable解码。[maurits]

1.11 (2012-10-14)

1.10 (2011-12-14)

  • 修复了通过主题匹配问题的问题。在搜索主题行中的#123时,我们会匹配行开头的123,这可能导致错误的匹配。[maurits]

1.9 (2011-11-28)

  • 使用正文字符集解码正文文本,然后在存储之前将其编码为utf-8。[maurits]

  • 在没有正文的情况下避免Unicode错误。[maurits]

  • 可选地添加来自电子邮件的附件。我们寻找二进制附件。这些作为单独的回复添加,因为您只能为每个问题或回复添加一个附件。在 config.py 中,我们添加了设置 ADD_ATTACHMENTS 以便于在出现问题时或您不希望启用时关闭此功能(默认为 True)。[maurits]

  • 修复了处理包含自身为多部分的部件的多部分消息的问题。[maurits]

  • 当存在空或缺失的主题行时,使用“[无主题]”作为标题。我们不会尝试将此类邮件与之前的问题匹配,而是始终创建一个新的问题。[maurits]

1.8 (2011-11-10)

  • 显式设置更多字段,因为 createObjectByType 调用仅设置其中一些。[maurits]

1.7 (2011-11-09)

  • 当提供主题(关键字、类别)时,显式设置该主题。[maurits]

  • get_addresses 中允许从除了“收件人”和“发件人”之外的其他标题中获取地址。[maurits]

1.6 (2011-09-06)

  • 防止在编辑后自动重命名问题。[maurits]

  • 防止更多小写电子邮件地址比较问题。[maurits]

1.5 (2011-06-22)

  • 将电子邮件的发件人地址转换为小写,以防止与 ldap 用户搜索时出现搜索问题。[jladage]

1.4 (2011-06-14)

  • 在 PAS 中通过电子邮件地址搜索用户时,从返回的地址中删除任何空白(如可能来自 ldap 的“rn”),以避免因愚蠢的原因而无法匹配。[maurits]

  • 将所有选项移动到新的 config.py 文件中。[maurits]

  • 添加选项 ADVANCED_SUBJECT_MATCH。默认为 False:我们仅在主题行中检查“#123”,以避免匹配过于通用的主题行,如“Hi”或“问题”。要返回之前的行为,请将其设置为 True(可能在您自己的代码中的补丁中)。[maurits]

  • 如果主题为空,则不要尝试查找匹配的问题,因为所有问题都将匹配。[maurits]

1.3 (2011-05-11)

  • 添加了 FAKE_MANAGER 选项(默认为 True),以确定是否应该模拟管理角色以确保帖子成功。[maurits]

  • 在切换用户时:如果“电子邮件”不在属性中(例如:ldap),则可能会得到太多结果;所以我们进行双重检查。[maurits]

1.2 (2011-05-09)

  • 忽略具有 email_from_address 作为发件人地址的邮件,因为这太容易意味着由 Poi 发送的邮件最终被添加为我们刚刚创建的问题的回复。[maurits]

1.1 (2011-05-05)

  • 更好地处理编码的主题行。[maurits]

1.0 (2011-05-05)

  • 初始发布

项目详情


下载文件

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

源分布

poi.receivemail-3.0.1.tar.gz (24.9 kB 查看哈希值)

上传时间

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面