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

通过 Gmail 中继邮件违反其服务条款,因此我们不支持此功能。我们建议使用 Mailgun 等服务。

嗯。也许你使用了反向代理?因为

在这方面你没问题。

如果你付费使用的是 Gsuite(而非 Gmail),让 Discourse 发送邮件并不违反其服务条款,但这仍然非常麻烦,而且在这里很难获得支持。如果你有信用卡,选择 Mailgun(或类似服务)会让你的生活轻松很多。

可能有点晚了,无法在这里帮到你,但我可以确认,使用 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、‘’ 等)都无法正常工作。

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

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

这对我刚刚奏效