适用于 AWS SES 的话语电子邮件配置



我正在尝试在 AWS EC2 实例上设置话语,但在通过 AWS SES 发送电子邮件时遇到问题。

首先,我在 AWS SES上设置并确认了电子邮件和域(不在沙盒模式下),我可以从 AWS SES 控制面板成功发送测试电子邮件,也可以通过在 Discourse 机器实例上运行的后缀手动发送测试电子邮件。

我尝试按照这里的说明进行操作:http://stroupaloop.com/blog/discourse-setup-using-aws/(尽管意识到这现在已经很老了,所以也许现在的配置不同了),并且还找到了话语 SES AWS 工作 app.yml 文件示例 - 但这个配置也不适合我。

有关信息,我正在通过执行来编辑 app.yml 文件....

$ sudo ./launcher stop app
$ sudo nano ./containers/app.yml

[进行编辑和保存]

$ sudo ./launcher bootstrap app

[它告诉我它已正确引导]

$ sudo ./launcher start app

[我现在可以查看话语网站,但可以;t登录到任何帐户,因为确认电子邮件未发送]

目前,我的app.yml文件中有这个(敏感信息已替换):

DISCOURSE_SMTP_ADDRESS: email-smtp.eu-west-1.amazonaws.com
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: XXXXXXXXXXXXXXXX
DISCOURSE_SMTP_PASSWORD: XXXXXXXXXXXXXXXXXXXX
DISCOURSE_SMTP_ENABLE_START_TLS: true           
DISCOURSE_SMTP_AUTHENTICATION: "login"
DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: none
DISCOURSE_SMTP_DOMAIN: mydomain.net
DISCOURSE_SMTP_FROM_ADDRESS: me@mydomain.net

此外,在SES发送统计信息仪表板中,我什至没有看到它正在尝试发送电子邮件。

因此,即使是一个好的起点,也要知道 Discourse docker 容器中的某个地方是否有电子邮件日志文件,我可以查看该文件以查看问题可能是什么。

任何关于我在这里出错的帮助将不胜感激。

我遇到了类似的问题,我通过编辑app.yml并在末尾添加此行来修复它(默认情况下该行被注释掉):

- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"

您必须将info@unconfigured.discourse.org替换为与您的 SES 凭据关联的已验证电子邮件地址。您可以在 AWS -> SES -> 身份管理 -> 电子邮件地址下检查已验证的电子邮件地址身份,必须验证验证状态。如果您设法从此处发送和接收测试电子邮件,则可能已经设置好了。

应用这些更改后,请重新运行安装脚本以选取更改:

sudo ./discourse-setup

希望这在你的最后有效!

我使用 bitnami 在 ec2 中部署了我的话语,在尝试了几个小时后,我能够使用话语配置 SES 沙箱,这是我所做的

  1. 在 AWS 控制台中创建的 SMTP 凭证
  2. 我在 aws 控制台中验证了两封电子邮件,因为电子邮件服务在沙盒中,因此发件人和收件人的电子邮件都必须验证
  3. 我在此文件中添加了 smtp 设置/apps/discourse/htdocs/config/discourse.conf
  4. 如下所示
db_name = bitnami_discourse
db_host = /opt/bitnami/postgresql
db_port = 5432
db_pool = 25
hostname = 3.89.1xx.xx
db_username = bn_discourse
db_password = “xxxxxxxxxx”
redis_port = 6379
redis_path = /opt/bitnami/redis/var/run/redis.sock
smtp_address =“email-smtp.us-east-1.amazonaws.com”
smtp_port = 587
smptp_security = ssl
smtp_domain = 3.89.1xx.xx
smtp_user_name = ‘xxxxxxxxxxxxxxxxx’
smtp_password = ‘xxxxxxxxxxxxxxxxxxxxxxxxxxxx’
from_address = youremailaddress@example.com

smptp 用户名和密码与您在配置 此文件后在步骤 1 中获取的 SMTP 凭据相同 确保通过在/apps 外部运行此命令来重新启动服务器

sudo /opt/bitnami/ctlscript.sh restart

这是一个参考

最新更新