AWS SES的话语电子邮件配置

时间:2019-04-15 15:32:24

标签: amazon-web-services amazon-ses discourse

我正在尝试在AWS EC2实例上设置Discourse,但是在通过AWS SES发送电子邮件方面遇到了问题。

首先,我在AWS SES上设置并确认了电子邮件和域(不在沙盒模式下),并且可以从AWS SES仪表板成功发送测试电子邮件,也可以通过在Discourse机器实例上运行的postfix手动进行操作。 / p>

我尝试按照以下说明进行操作:unwrapped commands(尽管现在已经很老了,所以现在的配置可能有所不同),并且也发现了http://stroupaloop.com/blog/discourse-setup-using-aws/-但是此配置不适用于我也是。

有关信息,我正在通过以下方式编辑app.yml文件。

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

[进行编辑并保存]

$ sudo ./launcher bootstrap app

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

$ sudo ./launcher start app

[我现在可以查看演讲站点,但是由于未发送确认电子邮件,因此无法登录任何帐户]

当前,我的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容器中是否有电子邮件日志文件,我可以查看该文件以了解问题所在。

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

2 个答案:

答案 0 :(得分:1)

我有一个类似的问题,我通过编辑app.yml并将其添加到行尾来解决(默认情况下该行已被注释掉):

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

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

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

sudo ./discourse-setup

希望这对您有用!

答案 1 :(得分:1)

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

  1. 在aws控制台中创建SMTP凭据
  2. 由于电子邮件服务位于沙箱中,因此我在aws控制台中验证了两封电子邮件,因此发件人和收件人电子邮件都必须得到验证
  3. 我向此文件/apps/discourse/htdocs/config/discourse.conf添加了smtp设置
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

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

sudo /opt/bitnami/ctlscript.sh restart

这里是reference