新设置 - 尝试通过 Gmail 发送邮件时出现错误

你好,

我已在 Ubuntu Server 16.04 的私有云上部署了 Discourse,所有安装步骤均顺利完成。

现在我在测试邮件功能时遇到了问题。我输入了正确的信息,但无法收到邮件。我在另一个 Node.js 应用中使用了相同的配置,却能正常工作。

请问我哪里出错了?

以下是我的配置:

DISCOURSE_HOSTNAME: forum.smartly.ai
DISCOURSE_DEVELOPER_EMAILS: 'smartly.retailbanking@gmail.com'
DISCOURSE_SMTP_ADDRESS: smtp.gmail.com
DISCOURSE_SMTP_PORT: 465
DISCOURSE_SMTP_USER_NAME: smartly.retailbanking@gmail.com
DISCOURSE_SMTP_PASSWORD: "xxxxx"
DISCOURSE_SMTP_ENABLE_START_TLS: false

我现在非常困惑。提前感谢您的回复。

使用 Gmail 作为您的 SMTP 服务器违反了 Gmail 的服务条款,且不受支持。

我在 Node.js 应用中使用了相同的配置。我在账户安全设置中授权了此类应用,一切正常。
即使我在 Gmail 配置中勾选了“允许低安全性应用”,Discourse 是否仍不支持 Gmail 应用?如果是这样,我应该使用哪种配置?

我不确定为什么它在您的其他应用中能正常工作,但这仍然违反了 Gmail 的服务条款。有关推荐的邮件服务列表,请参阅 discourse/docs/INSTALL-email.md at main · discourse/discourse · GitHub

您确定吗?我刚刚发现了以下限制:

G Suite 和 Gmail 并不是一回事。从您上面的示例来看,您似乎使用的是 Gmail。

使用邮件服务会更加便捷。如果您不寻求解决邮件收发问题的简便方案,那么我的建议可能对您没有帮助。

如果

@Canapin 上面列出的用户名是 @gmail.com,G Suite 文档不适用,因为 G Suite 是他们的付费服务,所以这确实违反了他们的服务条款。

我们无法帮助您违反 Google 制定的合理规则,尤其是在存在免费且可支持的替代方案的情况下。

感谢您的回复。我尝试使用 Gsuite,但同样无法工作。我使用的是一个通过 Gsuite 添加的电子邮件地址,并已允许从外部应用程序使用 SMTP。结果仍然一样。我想我会尝试使用 SendGrid 或 Discourse 支持的其他服务。

我不建议使用 GSuite 发送邮件,但最近有一位客户按照这些说明操作,并使用 GSuite 发送邮件。

我按照此链接中的相同操作,但问题依旧。因此,我在 Mailjet 上创建了一个新账户。现在当我运行 ./discourse-doctor 时,它提示邮件已发送,但我邮箱中仍未收到任何邮件。我还为 Mailjet 添加了新的 DNS 配置,以允许使用我的域名发送邮件,但即使系统提示邮件已发送,实际仍未发出。附注:我的垃圾邮件箱是空的。

依我之见,将 Gmail 或 G Suite 用作任何网站(包括 Discourse)的事务性邮件服务是完全不可行的,这并非它们的设计用途!

请尝试 Mailgun(每月 10,000 封邮件甚至免费!),或参考此 文章 了解其他替代方案。

这并不准确。

GSuite 确实允许发送邮件,这就是上面链接的文档所说明的。不过,如果超过其限制,您的整个 GSuite 账户可能会受到限制。

建议使用推荐的邮件服务提供商。如果您选择使用其他服务,则需自行确保其正常运行。

也许不准确,但没有任何专业人士会建议使用 Gmail 或 Gsuite 来发送事务性邮件。因此,我的观点是这不可行。当然,如果 TS 想尝试实现,由他决定!

那么请不要把观点当作事实。

今天才知道我不是专业人士 ¯\_(ツ)_/¯

你需要查看 Mailjet 的日志。正如 Discourse-doctor 所说,这不是 Discourse 的问题。

同意。(除非是某些低流量的个人爱好网站,也许可以。但即便如此,设置 Mailgun 或类似服务也更简单。)

没错。