分享 一次 discourse 安装经历的 SMTP 配置

感觉有不少朋友遇到过类似问题,把本次安装经历记录一下,以便以后有相似问题的可以参考

我安装的过程主要是参考此贴: 在大陆地区的云上部署 Discourse

安装平台:qingcloud (青云虚拟机)
系统: ubuntu - 16.04-3

SMTP 配置注意的几点:

先贴最终SMTP配置相关内容:

DISCOURSE_DEVELOPER_EMAILS: 'wuyongzhi@haotest.com'

  DISCOURSE_SMTP_ADDRESS: smtp.exmail.qq.com
  DISCOURSE_SMTP_PORT: 25
  DISCOURSE_SMTP_USER_NAME: xxxxxxx@xxxxxx.com
  DISCOURSE_SMTP_PASSWORD: "password"
  DISCOURSE_SMTP_ENABLE_START_TLS: false
  DISCOURSE_SMTP_AUTHENTICATION: login

run:
  - exec: echo "Beginning of custom commands"
  - exec: rails r "SiteSetting.notification_email='xxxxxx@xxxxxxx.com'"   # 这行当中单引号括起的内容要与  DISCOURSE_SMTP_USER_NAME 保持一致
  - exec: echo "End of custom commands"
  • 端口(DISCOURSE_SMTP_PORT ):这个必须是 25, 或 465,腾讯QQ不支持默认的 587,但这里只能设置为 25 ,因为 465 是SSL用的端口,而discourse 没有提供 SSL配置项
  • DISCOURSE_SMTP_ENABLE_START_TLS:建议设置为 false, 为 true 好像也可以
  • app.yml 最后的内容中:SiteSetting.notification_email='xxxxx@xxxxxxx.com'" 这行的设置必须有,否则也不成功

过程总结:我也是搞得焦头烂额,昨天晚上搞了两小时,今天早上两小时,才配置明白。原因在于他每次配置修改完,必须执行 rebuild app ,而这个过程非常漫长,就等啊等。我后来用了一个办法,自己先写一段 python 程序来测试 腾讯的SMTP服务器,如何才能发成功,本机测试好后,放到 qingcloud 主机上执行测试(防止qingcloud封锁的可能),测试成功后,最后再应用到 discourse 中的设置中,而我最后是在 qingcloud 上用 python 进行 smtp 发送是成功的,因此确信是能配置好的。

另一点,不要过于相信别的说法,有很多文章说要删掉 SiteSetting.notification_email='xxxxx@xxxxxxx.com'" 这行,而据我的经验 from 地址只要设置正确,应该是没问题的,最后是加了这行设置,才成功配置了 QQ企业邮箱的 SMTP

整个过程供大家参考,我也查阅了大量的文章,结果都没有用,最后是自己试出来的,这里总结在这里,希望对大家有用

3赞

自己占个沙发,贴张成功认证EMAIL的图,庆祝一下:

1赞