Rails 4应用程序中的异常通知程序未发送电子邮件



我整个下午都在为这个问题而斗争。

我用过这个宝石:

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

可能要删除其中一个。

相关内容

  • 没有找到相关文章

最新更新