我目前正在尝试向在我的Rails应用上创建帐户的新用户发送帐户确认电子邮件。
我已经通过development.rb在本地成功部署,但出于某种原因,我每次都收到错误消息"我们很抱歉,但出了点问题。如果您是应用程序所有者,请检查日志以获取更多信息"。我已经在Stack Overflow以及Heroku,Youtube上查看了几个资源,但未能找到解决方案。
这是我在environment / production.rb中的代码:
# Don't care if the mailer can't send.
config.action_mailer.raise_delivery_errors = true
config.action_mailer.perform_deliveries = true
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
address: "smtp.sendgrid.net",
port: 587,
domain: ENV["SENDGRID_DOMAIN"],
authentication: "plain",
enable_starttls_auto: true,
user_name: ENV["SENDGRID_USERNAME"],
password: ENV["SENDGRID_PASSWORD"]
}
config.action_mailer.default_url_options = {:host => "<myherokuappname>.herokuapp.com/"}
config.action_mailer.perform_caching = false
再次确认一下,我能够在本地部署电子邮件,而不是在生产级别。任何提示将不胜感激。
答案 0 :(得分:0)
我最近也将SendGrid集成到我的Heroku应用程序中。我的production.rb设置如下:
config.action_mailer.raise_delivery_errors = true
config.action_mailer.default_url_options = { host: '<myherokuappname>.herokuapp.com' }
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:user_name => ENV['SENDGRID_USERNAME'],
:password => ENV['SENDGRID_PASSWORD'],
:domain => '<myherokuappname>.herokuapp.com',
:address => 'smtp.sendgrid.net',
:port => 587,
:authentication => :plain,
:enable_starttls_auto => true
}
我在几分钟前测试了它,它发送的很好。