无法发送电子邮件

telnet smtp.mydomain 587

正在尝试 IP..
已连接到 smtp.mydomain.com。
转义字符为 '^]'。
220 smtp.mydomain.com ESMTP

我多次重新构建,并且能够成功通过在线测试站点发送邮件:

问题是 Discourse 完全无法发送任何邮件,无论是注册还是重置密码。


没有日志显示
跳过、退回、接收和拒绝

我已经读过那篇文章,但仍然无法解决。我使用了 mail tester,一切正常,没有端口被阻止。

Started POST "/session/forgot_password" for 162.158.134.56 at 2020-07-22 15:59:02 +0000
Processing by SessionController#forgot_password as */*
  Parameters: {"login"=>"mail@gmail.com"}
Completed 200 OK in 20ms (Views: 0.2ms | ActiveRecord: 0.0ms | Allocations: 5382)

我自己在托管邮件服务器,从 Roundcube 发送邮件一切正常。唯一的问题是 Discourse 完全无法发送邮件,而且没有任何日志显示错误或问题。

我的邮件域名不是 IP,而是基于名称的。

你试过将 DISCOURSE_SMTP_ENABLE_START_TLS 设置为 false 吗?

1 个赞

是的,没有成功……

你是否取消了 app.yml 文件底部这一行的注释?

- exec: rails r "SiteSetting.notification_email='web@example.com'"

是的,app.yml 中也有,且已取消注释。

您能解决这个问题吗?我遇到了同样的问题,每次 Discourse 尝试发送电子邮件时都会收到“Job exception: Connection reset by peer”错误。