我整个下午都在为这个问题而斗争。
我用过这个宝石:
gem 'exception_notification'
然后我把它放在/config/environments/production.rb
文件中:
config.action_mailer.default_url_options = { :host => 'http://www.website.com' }
config.action_mailer.delivery_method = :sendmail
# Defaults to:
# config.action_mailer.sendmail_settings = {
# location: '/usr/sbin/sendmail',
# arguments: '-i -t'
# }
config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = true
#config.action_mailer.default_options = {from: 'admin@website.com'}
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:address => "smtp.gmail.com",
:port => 587,
:domain => "gmail.com",
:user_name => "myemail@gmail.com",
:password => "password",
:authentication => "plain",
:enable_starttls_auto => true
}
config.middleware.use ExceptionNotification::Rack,
:email => {
:email_prefix => "[App Error] ",
:sender_address => %{"notifier" <myemail@gmail.com>},
:exception_recipients => %w{error_email@gmail.com}
}
但没有成功。
所以我试着把它放在/config/application.rb
文件中:
...
module MyApp
class Application < Rails::Application
...
config.middleware.use ExceptionNotification::Rack,
:email => {
:email_prefix => "[App Error] ",
:sender_address => %{"notifier" <myemail@gmail.com>},
:exception_recipients => %w{error_email@gmail.com}
}
end
end
我是如何测试它的——我把不存在的ID放在URL上,例如/users/1000000
。但我的收件箱中没有收到任何包含此错误的电子邮件。
有人能帮我解决这个问题吗?
谢谢大家。
我知道这是一篇旧帖子,但我可能有答案。您的生产配置中有两个action_mailer配置:
config.action_mailer.delivery_method = :sendmail
# and also...
config.action_mailer.delivery_method = :smtp
可能要删除其中一个。