最近更新后邮件无法发出

最近有很多更新。其中一个破坏了主题行(不再包含类别),现在根本没有邮件发出。用户非常不高兴。我不知道如何开始调试这个问题。我在哪里可以找到错误日志,我记得有一个关于 sidekiq 队列等的页面,但我找不到它。任何帮助都将不胜感激。

1 个赞

是的,我注意到昨天更新后电子邮件通知似乎没有触发,但摘要/总结仍然在发送。只有我们遇到这个问题吗?

2 个赞

这可能是因为 sidekiq 在应该处理计划中的作业时未能处理。

我们今天早些时候在我们的 CD 站点上也发现了同样的问题。请确保您至少提交到:

(我认为是这个提交,不完全确定)

要查看问题是否相同,请检查 /sidekiq 中的计划作业,看看是否有过去的作业。

2 个赞

是的,我们也被卷入了其中。一次更新已经解决了这个问题。

2 个赞

4 个帖子被拆分到新主题:Email From: 标题丢失了“via SITENAME”文本

我确认在 latest-release +103 上有数百个 sidekiq 作业失败

已在 latest-release +153 上修复

我已经更新到最新版本,但我的其中一个网站仍然存在电子邮件发送问题。发送测试邮件时,我只收到一条错误消息。

ERROR - 文件末尾已到达

我现在在手机上,等我到电脑旁时会检查 sidekiq 和日志。还有其他建议我去哪里查看吗?

嗨,Tobias!

你的问题不同——连接在初始成功连接后不久就挂起了,等待响应。

我猜你正在尝试使用错误的协议连接到错误的端口……你使用的是什么设置?

使用(逻辑和错误消息已最近更新的)rake emails:test 任务是否显示任何不同的错误?

嗨,Michael!感谢你的回复。我非常想念你们!:smiling_face_with_three_hearts:

嗯……我刚把我的网站从 DO 迁移到 Hetzner,前几周运行得很好。我的另一个网站也运行正常。这真是一个谜。大约一周前它突然停止工作了,当我查看时看到了错误。我联系了 Hetzner(他们拒绝提供帮助)和 Mailgun。根据 Mailgun 的说法:

感谢您的回复,我们看到的最后一个被接受的已认证事件是在 1 月 11 日,并通过 SMTP 发送的。

您能确认是否进行了任何更改吗?请提供您的发送应用程序配置的屏幕截图供我们审查,以及您的发送应用程序/SMTP 发送日志中的任何相关错误。

我只是更改了我的 mailgun 密码,以防是这个问题,然后又试了一次,但没有成功。

rake emails:test 输出:

root@ubuntu-4gb-nbg1-1-app:/var/www/discourse# rake emails:test

正在使用 smtp.mailgun.org:587、用户名:postmaster@domain 和纯文本身份验证测试发送。

====================================================================================== 错误 =======================================================================================

未知错误!

EOFError: 文件结束

===================================================================================== 解决方案 =====================================================================================

这不是一个常见的错误。没有推荐的解决方案!
请将上述确切的错误消息报告到 https://meta.discourse.org/

(如果您找到了解决方案,也请报告!)

====================================================================================================================================================================================

我认为它甚至在尝试登录之前就失败了。

为了排除 Discourse 的影响,请尝试从主机和容器内部进行测试:

$ openssl s_client -connect smtp.mailgun.org:587 -starttls smtp

您应该会看到大量输出,然后可以尝试进行身份验证:

○ → openssl s_client -connect smtp.mailgun.org:587 -starttls smtp
Connecting to 34.160.63.108
CONNECTED(00000003)
…
SSL-Session:
   …
---
read R BLOCK
EHLO localhost
250-2ed1d46f4d7dec773e2a97b59f3a3bf8a2d6db54f94eead5dcf49e3ea1caac18
250-AUTH PLAIN LOGIN
250-SIZE 52428800
250-8BITMIME
250-SMTPUTF8
250 PIPELINING
AUTH PLAIN bWljaGFlbABtaWNoYWVsAHBhc3N3b3Jk
501 Username used for auth is not valid email address
535 Authentication failed
closed

您需要输入的字符串是:

EHLO localhost
AUTH PLAIN bWljaGFlbABtaWNoYWVsAHBhc3N3b3Jk

(该字符串是凭据 michael/password,因此显然不起作用,但如果您想手动尝试,可以参阅此帖子以了解如何构建用于您实际凭据的字符串)

希望亲眼看到什么有效、什么失败会有所帮助。

您可能还想尝试使用 swaks(如果可用)——它可能是一个您可以安装的操作系统软件包。

它更容易一些,您可以例如:

swaks --to frodo@shire.net --from bilbo@shire.net --auth PLAIN --auth-user bilbo --auth-password ring --server smtp.mailgun.org:587 --tls

但您可以使用您的真实凭据。

该命令的输出可能也有助于揭示问题。

我尝试使用 swaks 得到了这个:

=== 正在尝试 smtp.mailgun.org:587...
=== 已连接到 smtp.mailgun.org。
*** 远程主机意外关闭连接。

这启发我去从我的另一个服务器上检查,swaks 显示“Great success”(大成功)——这个信息相当可爱!

<~  250 Great success
~> QUIT
<~  221 See you later. Yours truly, Mailgun
=== 与远程主机连接已关闭。

所以问题要么是 mailgun 阻止了我的服务器,要么是我的服务器配置有误。我会先和 mailgun 确认,如果不是,我就会销毁并重建我的服务器。

1 个赞

有道理;这本质上与以下内容是相同的错误:

正如你所怀疑的,最可能的原因是某些外部因素干扰了连接。

1 个赞