当发送过短的回复(例如“测试邮件回复”)时,我会收到一封退回邮件:
很抱歉,您的邮件消息(主题为“Re: 论坛帖子标题”)发送至 [“discoursereplies+redacted.org”] 未能成功。
您是否使用了多个电子邮件地址?是否从不同的电子邮件地址进行回复?邮件回复要求您在回复时使用相同的电子邮件地址。或者,邮件中的 Message-ID 头可能被修改过。
但较长、多行且包含多个句子的回复则能正常发送。
因此,该错误信息并不准确。
能否在此情况下提供更恰当的错误提示?
是否可配置最小消息长度?论坛回复与邮件回复是否有不同的设置?
类似问题参见:https://meta.discourse.org/t/confused-by-error-message-from-reply-by-email/139841,但此处是另一个问题。
2 个赞
tshenry
(Taylor)
3
我暂时无法复现此问题。
我在 https://try.discourse.org 上进行了测试,该站点的 min post length(最小帖子长度)站点设置保持默认值 20。
我使用用户 A 创建了一个新主题,然后用用户 B 回复了该主题。用户 A 收到了一封邮件,随后我通过邮件回复了一个单词“Test”:
我随即收到了一封包含恰当内容的邮件:
@adrelanos 您能否提供额外的复现步骤?您收到的消息是否有某种情况下是有效的?另外,请确认您使用的是最新版本的 Discourse。
1 个赞
稳定分支。2.6.6(非测试完成分支。)这会有区别吗?
tshenry
(Taylor)
5
我不敢断言这一定会带来改变,但稳定版中可能存在某个已修复但未向后移植的 Bug,这种情况始终存在可能性。如果您方便的话,我建议您至少先更新到最新的测试版,然后再试一次。
除此之外,还有以下几个问题:
由于在常规场景下我无法复现该问题,因此需要您提供更多线索。
2 个赞
之前曾遇到过以下问题:https://meta.discourse.org/t/postgresql-13-update/172563、https://meta.discourse.org/t/restore-problem-relation-theme-fields-does-not-exist/95500 以及 https://meta.discourse.org/t/how-to-backup-and-restore-a-whole-var-discourse-app-folder/152598/15。现在非常感激你们提供更新较慢的稳定分支服务。:)
我猜你们当前使用的是 2.7 版本。我会等到 2.7 迁移到稳定分支后再进行报告。
您能否提供任何额外的复现步骤?
min post length 设置为 2。
delete rejected email after days 仍为默认值 90。
现在回复我自己的消息“OK”可以正常工作。
回复另一位用户的“OK”消息后,我现在收到了该消息。
很抱歉,您发送至 [“discoursereplies+redacted@redacted.redacted”](标题为 Re: [redacted] [redacted] redacted)的邮件未能成功。
我们仅接受原始通知发布后 90 天内的回复。请 访问该主题 以继续讨论。
但该消息仅发出约 5 分钟。
通过电子邮件回复另一位用户的帖子,内容为“This is a longer test reply by e-mail. Please ignore.”,没有任何反应,日志中也没有任何记录,也未收到拒绝邮件。
是否有可能您收到的消息在某种情况下是有效的?
您所说的“有效”具体是什么意思?
这是否意味着你的服务器时钟或安装配置有问题?这是标准的默认安装吗?
2 个赞
这是否意味着你的服务器时钟或安装配置有问题?
我不这么认为。我刚检查过,本地计算机时间和服务器时间在 UTC 下的日期、小时和分钟都一致,甚至秒数也几乎相同(通过 SSH 很难精确测量)。
这是标准的默认安装吗?
是的,使用的是 Docker 安装方式。我不想偏离官方推荐的做法。
感谢你们维护 Discourse!
1 个赞
tshenry
(Taylor)
9
因此,为了将来参考,总结如下:
-
原始发帖(OP)中的问题是:你发送了一条过短的回复,却收到了“目标地址错误”的响应,而不是“帖子过短”的响应。以下说法显然不成立:
你是否使用了多个电子邮件地址?是否从不同的邮箱地址进行了回复?通过邮件回复时,必须使用相同的邮箱地址。或者,邮件中的 Message-ID 头可能被修改过。
-
在另一个例子中,你向一位用户发送了一条过短的回复,却收到了“旧目标”错误响应:“我们仅接受原始通知发布后 90 天内的回复。请 访问该主题 以继续讨论。”这也显然不成立,因为你回复的帖子仅发布了 5 分钟。
在你两次发送过短回复的情况下,系统都发送了错误的错误消息。这是否准确?
这听起来不错!我非常期待看看更新是否能解决问题。如果不行,请告诉我们。
1 个赞
我在 2.7.3 版本中不再遇到这个问题,但现在却出现了。
-
您是否使用了多个电子邮件地址?您是否从不同的电子邮件地址进行了回复?邮件回复要求您在回复时使用相同的电子邮件地址。或者,邮件中的 Message-ID 头可能被修改过。
这似乎发生在对我所回复的帖子有其他回复之后。
由于这似乎难以调试(用户错误,回复了 From 而不是 Reply-To——在本例中我并未这样做 / 邮件服务器出现问题,和/或 Discourse 的 bug),我提出了以下功能请求以简化调试:
riking
(Kane York)
13
这意味着你触发了其他短帖防护机制之一,例如 body min entropy,其目的是阻止诸如 AAAAAAAAAAAAAAAAAAAAAAAAAAAA 之类的帖子,且该机制没有自定义错误消息。
3 个赞
您有具体的复现步骤吗?能否 100% 复现该错误?
2 个赞
adrelanos
(Adrelanos)
15
这是一个适用于 Reply with debug info to rejected e-mails 的情况。
并非总能复现。我现在会频繁使用邮件回复功能,并希望随后能提供可复现的操作说明。
可能是需要多次回复才会导致邮件被拒绝,或者与时间有关。不过,较旧的邮件更可能被拒绝,即使 disallow reply by email after days(禁止在多少天后通过邮件回复)已设置为 0。
1 个赞