【问题标题】:Discourse email configuration for AWS SESAWS SES 的话语电子邮件配置
【发布时间】:2019-09-05 15:19:15
【问题描述】:

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

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

我已尝试按照此处的说明进行操作:http://stroupaloop.com/blog/discourse-setup-using-aws/(虽然现在意识到这已经很老了,所以现在配置可能不同了)并且还找到了Discourse SES AWS working app.yml file example please - 但这个配置也不适合我。

关于信息,我正在编辑 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 容器中的某处是否有电子邮件日志文件,我可以查看它以了解问题可能是什么。

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

【问题讨论】:

  • 如果有任何电子邮件相关,请您分享来自话语的日志。您可以使用 URL 从话语中找到日志:yourdiscoursedomain.com/logs

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


【解决方案1】:

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

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

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

应用这些更改后,重新运行设置脚本以获取更改:

sudo ./discourse-setup

希望这对你有用!

【讨论】:

    【解决方案2】:

    我使用 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
    
    

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

    sudo /opt/bitnami/ctlscript.sh restart

    这是reference

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-07
      • 2020-01-16
      • 2020-10-19
      • 2019-08-05
      • 2018-09-18
      • 1970-01-01
      • 2021-08-28
      • 1970-01-01
      相关资源
      最近更新 更多