Gmail SMTP 中继设置无法正常工作

大家好,

我按照这份指南在 Ubuntu 18.04 上安装了 Discourse(该指南针对的是 Ubuntu 16.04,但我认为两者差别不大):

然后我按照以下说明配置了邮件设置:

注意:仅应用 IP 范围对我无效,只有完整的 IP 地址才有效。

但我仍然无法让邮件正常工作。运行 doctor 测试时,显示如下:

==================== 邮件测试 ====================
...
...
SMTP 服务器连接成功。
正在发送至 info@likamundi-lernen.de...
邮件发送失败。
替换:SMTP_PASSWORD
替换:LETSENCRYPT_ACCOUNT_EMAIL
替换:DEVELOPER_EMAILS
替换:DISCOURSE_DB_PASSWORD
替换:正在发送邮件至

==================== DNS 问题 ====================
该服务器报告“未找到”,但 discourse.likamundi.de 显示 Discourse 2.4.0.beta2。
这表明您存在 DNS 问题,或者某个中间代理导致了问题。
如果您使用的是 Cloudflare 或 CDN,可能是配置不当。

我还尝试在 Gmail 套件中将“允许的发送者”设置为“全部”,但这也没有帮助。

当然,当我尝试设置管理员账户时,也收不到任何邮件……

有人能帮我一下吗?这不可能这么难配置吧 ^^

此致,
Zacharias

Relaying through Gmail is a violation of their Terms of Service, so we do not support it. We recommend using a service like Mailgun.

1 个赞

Hmm. So maybe you’ve got a reverse proxy? Since

You’re in good shape there.

If you’re paying for Gsuite (and not Gmail) it’s not a violation of their TOS to have Discourse send mail, but it’s still a huge pain and you can’t get much help here. If you have a credit card your life will be much easier if you go with Mailgun (or similar).

2 个赞

可能有点晚了,无法在这里帮到你,但我可以确认,使用 GSuite SMTP 中继发送 Discourse 邮件是可行的。

以下是使用 SMTP 中继(在 Gmail 应用设置中)且无需身份验证(仅基于 IP 地址)的配置。首先,正如你所说,你需要将应用设置配置为“仅接受来自指定 IP 地址的邮件”,并添加你 Discourse 服务器的 IP 地址。

Discourse 端的配置如下:

DISCOURSE_SMTP_ADDRESS: smtp-relay.gmail.com      
DISCOURSE_SMTP_PORT: 587                        
DISCOURSE_SMTP_USER_NAME:    
DISCOURSE_SMTP_PASSWORD:     

关键点在于,也是让我纠结了一个小时的地方,你需要指定用户名和密码变量,但将它们留空。其他任何值(如 none、‘’ 等)都无法正常工作。

5 个赞

不,这行不通。而且并非针对该平台,要求同时配置域名和邮件服务器的想法非常糟糕,因为在大多数域名提供商处更改 DNS 时,其本地邮件服务器往往会出问题。我到现在已经尝试安装 4 个小时了。

感谢提供变通方法!我可以确认它有效 :slight_smile:

2 个赞

这对我刚刚奏效