你好,
我已在 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
我现在非常困惑。提前感谢您的回复。
pfaffman
(Jay Pfaffman)
2
使用 Gmail 作为您的 SMTP 服务器违反了 Gmail 的服务条款,且不受支持。
我在 Node.js 应用中使用了相同的配置。我在账户安全设置中授权了此类应用,一切正常。
即使我在 Gmail 配置中勾选了“允许低安全性应用”,Discourse 是否仍不支持 Gmail 应用?如果是这样,我应该使用哪种配置?
pfaffman
(Jay Pfaffman)
4
pfaffman
(Jay Pfaffman)
6
G Suite 和 Gmail 并不是一回事。从您上面的示例来看,您似乎使用的是 Gmail。
使用邮件服务会更加便捷。如果您不寻求解决邮件收发问题的简便方案,那么我的建议可能对您没有帮助。
如果
Stephen
(Stephen)
7
@Canapin 上面列出的用户名是 @gmail.com,G Suite 文档不适用,因为 G Suite 是他们的付费服务,所以这确实违反了他们的服务条款。
我们无法帮助您违反 Google 制定的合理规则,尤其是在存在免费且可支持的替代方案的情况下。
感谢您的回复。我尝试使用 Gsuite,但同样无法工作。我使用的是一个通过 Gsuite 添加的电子邮件地址,并已允许从外部应用程序使用 SMTP。结果仍然一样。我想我会尝试使用 SendGrid 或 Discourse 支持的其他服务。
pfaffman
(Jay Pfaffman)
9
我不建议使用 GSuite 发送邮件,但最近有一位客户按照这些说明操作,并使用 GSuite 发送邮件。
我按照此链接中的相同操作,但问题依旧。因此,我在 Mailjet 上创建了一个新账户。现在当我运行 ./discourse-doctor 时,它提示邮件已发送,但我邮箱中仍未收到任何邮件。我还为 Mailjet 添加了新的 DNS 配置,以允许使用我的域名发送邮件,但即使系统提示邮件已发送,实际仍未发出。附注:我的垃圾邮件箱是空的。
MarcP
(MarcP)
11
依我之见,将 Gmail 或 G Suite 用作任何网站(包括 Discourse)的事务性邮件服务是完全不可行的,这并非它们的设计用途!
请尝试 Mailgun(每月 10,000 封邮件甚至免费!),或参考此 文章 了解其他替代方案。
Stephen
(Stephen)
12
这并不准确。
GSuite 确实允许发送邮件,这就是上面链接的文档所说明的。不过,如果超过其限制,您的整个 GSuite 账户可能会受到限制。
建议使用推荐的邮件服务提供商。如果您选择使用其他服务,则需自行确保其正常运行。
MarcP
(MarcP)
13
也许不准确,但没有任何专业人士会建议使用 Gmail 或 Gsuite 来发送事务性邮件。因此,我的观点是这不可行。当然,如果 TS 想尝试实现,由他决定!
pfaffman
(Jay Pfaffman)
15
你需要查看 Mailjet 的日志。正如 Discourse-doctor 所说,这不是 Discourse 的问题。
同意。(除非是某些低流量的个人爱好网站,也许可以。但即便如此,设置 Mailgun 或类似服务也更简单。)
没错。