电子邮件回复中的“回复收件人”和“回复列表”混淆

Discourse 社区您好——

[为便于理解本问题,我们是一个使用 Discourse 托管实例的开源项目,对此我们深表感谢。]

我们遇到了一种让社区成员感到困惑的行为,希望能获得指导或最佳实践建议以改善现状。具体情况如下:

  • 我们的 Discourse 实例发送的电子邮件通知显示的“发件人(From:)”地址为 [项目]@discoursemail.com,同时“回复至(Reply-To:)”地址能正确将回复路由回原始主题。

  • 当收件人使用“回复”(Reply)而非“回复至”(Reply To)来回复此类邮件时(他们错误地认为这样可以私下回复邮件原始作者,而不通过论坛),他们会收到以下消息:

    很抱歉,您发送至 [[项目]@discoursemail.com](主题为 Re: [主题])的邮件未能成功。

    您是否使用了多个电子邮件地址?您是否从不同的电子邮件地址进行回复?邮件回复要求您使用相同的电子邮件地址。或者,邮件中的 Message-ID 头部可能被修改过。

    这导致他们误以为是其发送邮件的地址出了问题,而非他们回复的目标地址。但经过双重检查后,他们发现发送地址确实是自己的账户地址,于是寻求帮助,想知道出了什么问题。

这让我不禁思考:

  • 我们是否可以将这些邮件的发件人地址配置为类似 noreply@discoursemail.com 或其他看起来不像有效邮箱地址的格式?
  • 我们或 Discourse 是否可以将针对回复发件人地址的错误信息进行定制,使其更明确地说明:“您回复了一个不接受 incoming 邮件的邮箱地址。如果您是想回复 Discourse 通知邮件,请使用 Reply-To: 地址或直接联系其作者。”

[如果我在发布前遗漏了什么,敬请见谅。虽然我在 meta.discourse.org 上找到了其他提出类似问题的帖子,但都没有找到答案。此外,我也发现很难找到能精准缩小搜索结果的关键词。]

感谢任何建议,
-Brad

10 个赞

我们正在调查此事,并将尽快回复您!

5 个赞

据我所知,目前没有可用于此目的的设置。查看我的个人邮箱,发件人(From)和回复(Reply To)字段不匹配的情况相当普遍。我看到一些应用程序从“无回复”邮箱地址发送邮件,同时将回复地址设置为正确的回复地址。其他应用程序似乎与 Discourse 的处理方式相同:使用看起来真实的发件人地址,但期望用户使用回复地址进行回复。

除非存在一个我尚未知晓的站点设置,允许你将发件人地址设置为 noreply@<domain.com>,否则我认为添加这样一个设置是一个合理的功能请求。

Discourse 用于这些回复的邮件模板是 email_reject_bad_destination_address。该邮件模板应列在站点的邮件模板部分(位于 管理 / 自定义 / 邮件)。当我在我的站点中搜索该邮件模板时,并未找到它。这看起来是一个需要修复的缺陷。我们需要将该模板添加到列表中,该列表位于 discourse/app/controllers/admin/email_templates_controller.rb at main · discourse/discourse · GitHub

目前,你可以通过进入站点的 管理 / 自定义 / 文本 部分,并在搜索框中输入以下文本来编辑 email_reject_bad_destination_address 模板:

system_messages.email_reject_bad_destination_address.text_body_template

点击搜索结果旁边显示的“编辑”按钮以进行更改。

7 个赞

所以这是他们手动输入或粘贴完成的?这……有点奇怪。

5 个赞

行为不当的邮件列表会将“回复”地址设置为列表地址,而希望直接回复发件人的用户可以将地址改为发件人地址,即消息发送者的地址。我想这种行为模式如此根深蒂固,以至于人们甚至不会去查看地址,以确认它不可能是撰写该消息的人的地址。

针对一个以邮件为核心的社区,我编写了一个插件,用于显示发帖人的电子邮件地址,从而让用户能够通过电子邮件直接回复发件人。

8 个赞

您是否有关于人们具体如何操作的详细信息?是他们的电子邮件客户端提供了使用“发件人”地址的选项,还是他们手动将其复制到了新邮件中?

5 个赞

一个数据点,因为我遇到过这个问题:

在 Thunderbird(我运行的是 v78.7)中,我认为它会将 Discourse 的邮件识别为来自邮件列表,并提供两个回复按钮——“回复”和“回复列表”。

“回复”会向“发件人”地址(noreply@xyz.com)发送回复。

“回复列表”会向“回复至”地址(replies+01234@xyz.com)发送回复。

image

我个人觉得很容易不小心点击“回复”按钮而不是“回复列表”按钮。

11 个赞

大家好——

感谢大家在此帖中的回复,特别感谢 @simon 关于自定义邮件回复的说明。我会进一步研究这个问题。

针对 @codinghorror@simon 的提问:

我知道我们团队中一些遇到此问题的成员使用的是 Thunderbird,因此他们很可能遇到了 @Beakerton指出 的行为(我也知道一些老式的基于 UNIX 的邮件客户端也会产生同样的问题;在撰写此回复之前,我甚至没意识到 Outlook 在这方面并不方便)。如果感兴趣的话,我可以向其他我不确定其邮件客户端的用户询问他们是如何遇到此问题的,不过我预计情况应该类似。

关于 @pfaffman 的观点:

我认为这种情况是有可能的。或者,如果他们确实思考过这个问题,可能会认为 Discourse 中有某种“神奇”的机制在匿名化发件人地址,但同时又能确保他们的回复送达?(我意识到事实并非如此,也理解其中的原因,因此我并非主张认为这_应该_发生。)

正如 @simon 在此处指出的那样,将“发件人”地址自定义为看起来不太像有效地址的形式,可能是一个优势:

这样做可以让那些留意细节的用户消除误解,或者至少在他们回头查看已发送消息时,减少因功能未生效而产生的惊讶。不过,如果能自定义“目标地址无效”的提示信息,大概就能解决 95% 的问题,因此我会进一步研究这一点。

再次感谢,
-Brad

5 个赞

我仍然将“发件人”头设置为 noreply@example.com,并考虑将其改为更友好的内容(部分原因是担心用户可能认为回复邮件无法生效)。“noreply”必须是默认设置或推荐设置。

但也许这两个问题的答案都在这句话的前半部分:

5 个赞

根据我们的经验,Thunderbird 用户确实会遇到这种情况。如今,每当有人报告此类事件时,我首先询问的就是这个问题,而答案永远是“是的”。

7 个赞

这确实是 Thunderbird 的问题,我们在 1 月中旬左右发现并测试了相关情况:

后来我们发现,甚至有一个 Thunderbird 插件可以解决这个问题:

https://addons.thunderbird.net/en-US/thunderbird/addon/stop-ignoring-reply-to/

7 个赞

是的,我强烈认为这是 Thunderbird 的一个设计错误。

不过,我理解那些只是想正确操作的用户的处境。目前,你能做的最好的事情是自定义错误消息,使其与你的社区相关,并将最常见的错误解决方法放在回复的顶部,例如:

很抱歉,您发送至 [“[project]@discoursemail.com”](主题为 Re: [Subject])的邮件未能成功。

如果您使用 Thunderbird 作为邮件客户端,则必须回复列表;无法通过电子邮件直接回复用户。

您是否使用多个电子邮件地址?您是否从不同的电子邮件地址进行了回复?邮件回复要求您使用相同的电子邮件地址。或者,邮件中的 Message-ID 头可能已被修改。

当然,不必完全照搬上述文字——您可以根据实际情况调整,但请务必将其列在靠前的位置。

8 个赞

感谢 @simon上方的消息中提供的建议,我已更新了我们的错误提示。我相信这足以解决我们社区中一些人感到的困惑。如果能够将“发件人”地址自定义为类似 noreply@discoursemail.com 的形式,那就更是锦上添花了,但目前看来,我们的情况已经好多了。

再次感谢大家在此提供的帮助,

  • Brad

附言:既然我们在这个帖子中都在吐槽 Thunderbird,我想提一下,Thunderbird 用户仍然对以下现象感到困惑:他们 HTML 格式邮件中的链接在 Discourse 的入站邮件处理过滤器中似乎被直接丢弃。目前我仍不清楚这究竟是 Thunderbird 的缺陷还是 Discourse 的缺陷

6 个赞

根据这些反馈,我们还将全面改进错误提示信息。在当前测试版及未来版本中,它将显示如下:

很抱歉,您发送至 %{destination} 的邮件(主题为 %{former_title})未能成功发送。

请检查以下几点:

  - 您是否使用了多个电子邮件地址?您是否使用了与最初不同的地址进行回复?邮件回复要求必须使用相同的电子邮件地址。

  - 您的邮件软件在回复时是否正确使用了“回复至”(Reply-To)电子邮件地址?不幸的是,某些邮件软件会错误地将回复发送至“发件人”(From)地址,这将导致无法正常工作。

  - 邮件中的 Message-ID 头信息是否被修改?Message-ID 必须保持一致且未经更改。

需要更多帮助?请通过 %{base_url}/about 页面上的“联系我们”信息与我们取得联系。
13 个赞

但我可以在 Thunderbird 中打开我旧的 Discourse 消息,没有这个问题。只有较新的消息才有这个问题。我在我的帖子中描述过:

4 个赞

我想你是对的,List-Post 头的存在让 Thunderbird 合理地将其识别为邮件列表邮件。或许添加一个 Reply-To 头就足够了。

以下内容摘自 https://tools.ietf.org/html/rfc2369:

3.4. List-Post

List-Post 字段描述了向列表发布消息的方法。这通常是列表的地址,但也可能是 moderators(版主),或者是其他某种提交形式。对于不允许发布的列表(例如公告列表)这一特殊情况,List-Post 字段可以包含特殊值 “NO”。

示例:

List-Post: mailto:list@host.com
List-Post: mailto:moderator@host.com(发布需经审核)
List-Post: mailto:moderator@host.com?subject=list%20posting
List-Post: NO(此列表不允许发布)

1 个赞

我们不会公开电子邮件地址,因为这会侵犯隐私。

1 个赞

我不是邮件专家,所以可能表达得不够清楚。

看起来这些邮件的 From 字段是 noreply@example.com,而 List-Post 字段是 replies+12345@example.com——我仅根据这个话题推测,并未实际检查,所以很可能有误。

我在想,如果将 From 设为 noreply@example.com,同时将 Reply-To 设为 replies+12345@example.com,是否能在不引起 Thunderbird 混淆的情况下正常工作。

1 个赞

我们提供的电子邮件通知头是正确的。不一致源于用户对实际发生情况的心理模型……

这位用户 David 直接给我发邮件

……与实际情况之间的差异。

论坛通知我某个主题的活动

我们希望改进后的电子邮件错误消息能帮助用户理解这两者的区别。将仅使用电子邮件的用户转向混合式网络论坛解决方案是一项挑战。:e_mail:

5 个赞

我理解其中的区别,但既然使用了 Reply-To,为什么还要使用 List-Post 呢?

我并不是说这样做是错误的——我只是有些疑惑。仅就这个话题而言,它似乎会让 Thunderbird 感到困惑,而且(如果 Reply-To 能正常工作的话)显得多余。

1 个赞