SES SDK Rails6 未选择区域

问题描述

更新:

我打开了

  config.action_mailer.raise_delivery_errors = true

这导致报告了有关正在使用的区域的错误 - 这不是我配置的区域。

The following identities Failed the check in region US-EAST-1

然而,低于我配置的 AWS_REGION 是 ap-southeast-2(它应该对 SES 有效)。

--

我已将 rails6 应用程序设置为通过 SES 发送电子邮件,但是当我发送电子邮件时,我的日志报告它已发送,但未在收件人:地址处收到,也未报告任何错误。该电子邮件也不会出现在控制台统计信息中。

Delivered mail 601bc524e9f9b_1cec3ff815e2bdf812430@MarksWokMacBook.mail (1334.3ms)

我已授权/验证我的域和电子邮件地址,并成功发送了一封在 AWS 控制台中编写的测试电子邮件

我已经使用 figaro 设置了我的环境变量并使用初始化程序加载:

Rails.application.reloader.to_prepare do
    ActionMailer::Base.add_delivery_method :ses,AWS::SES::Base,access_key_id: ENV['AMAZON_ACCESS_ID'],secret_access_key: ENV['AMAZON_SECRET_KEY'],region: ENV['AWS_REGION']
end

我所在的地区是 ap-southeast-2,支持 SES。

我刚刚更新了 gem,但问题仍然存在:

gem 'aws-ses','~> 0.7.1',require: 'aws/ses'

因此,在没有错误消息且控制台中没有任何可见内容的情况下,我不知道接下来要尝试什么...

提前致谢。

解决方法

好的,进步了:

我根据 SDK 文档添加了此配置:

server: "email." + ENV['AWS_REGION'] + ".amazonaws.com",message_id_domain: ENV['AWS_REGION'] + ".amazonses.com"

但是我随后收到了凭据错误。

在此之后,我感到非常沮丧,我只是将 SES 恢复为使用 SES 的默认区域 us-east-1,并删除了其他配置参数,现在它可以正常工作了。

所以我很不高兴我必须使用与其他所有区域不同的区域,但现在至少我可以发送电子邮件了。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...