我有一个在 RedHat 的 OpenShift 上运行的 Ruby on Rails (v4.1.5) 应用程序。我正在从 Mandrill 切换到 SendGrid。在开发中,我能够将以下内容添加到我的 development.rb 配置文件中:
ActionMailer::Base.smtp_settings = {
:address => "smtp.sendgrid.net",
:port => 587,
:authentication => "plain",
:domain => ENV["DOMAIN_NAME"],
:enable_starttls_auto => true,
:user_name => ENV["SENDGRID_USERNAME"],
:password => ENV["SENDGRID_PASSWORD"]
}
而且我可以像以前一样继续使用 ActionMailer。我在本地对其进行了测试并收到了电子邮件,并且标头显示它们来自 sendgrid。
然后我将相同的代码添加到 production.rb 并部署到 OpenShift。我添加了上面代码中使用的新 SENDGRID 用户名和密码环境变量,并验证了它们在 OpenShift 上的设置是否正确。
但是当我测试它时,日志文件显示它已将电子邮件发送到正确的电子邮件地址,但它没有显示在我的 SendGrid 仪表板上,我也没有收到电子邮件。
有谁知道 OpenShift 上可能显示更多信息的任何其他日志文件?我只看了 app-root/runtime/repo/log/production.log。
我尝试删除上面的 enable_starttls_auto 字段,但没有任何改变。
我该如何调试这个问题?我不知道它是在 OpenShift 端还是 SendGrid 端。