0

更新:

我打开了

  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 发送电子邮件,但是当我发送电子邮件时,我的日志报告它已发送,但在 To: 地址未收到它并且没有报告错误。该电子邮件也不会出现在控制台统计信息中。

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

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

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

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

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

提前致谢。

4

1 回答 1

0

好的,所以进展:

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

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

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

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

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

于 2021-02-05T05:47:58.817 回答