【问题标题】:send email when exception has occurred not working , using exception_notification发生异常时发送电子邮件不起作用,使用 exception_notification
【发布时间】:2015-11-14 03:06:15
【问题描述】:

我正在从 rails 2.3 迁移到 rails 3.1,我正在尝试在生成异常时发送电子邮件。我正在使用 exception_notification gem。

我其余的电子邮件都在工作。但是异常邮件不会被触发。

以下是我的 staging.rb 文件中的设置。

config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = true

下面是application.rb中的代码

C::Application.config.middleware.use ExceptionNotification::Rack,
  :email => {
    :email_prefix => "[#{Rails.env.to_s.upcase} Error] ",
    :sender_address => %{"Exception Notifier " <email_id>},
    :exception_recipients => %w{email_id}
  }

我不确定为什么电子邮件没有触发,我也没有看到任何错误。任何帮助都会得到帮助,谢谢。

【问题讨论】:

  • 收件人设置为 String "email_id"。看起来很可疑。
  • 这只是一个占位符变量,我在那里设置了正确的电子邮件 ID
  • 你的exception_notification gem 的版本是什么?

标签: ruby-on-rails ruby ruby-on-rails-3 exception-notification


【解决方案1】:

将 gem 配置代码移动到 environment.rb 文件,而不是 application.rb

【讨论】:

    【解决方案2】:

    您需要像这样配置您的应用程序:

    C::Application.config.middleware.use ExceptionNotification::Rack,
      :email_prefix => "[#{Rails.env.to_s.upcase} Error] ",
      :sender_address => %{"Exception Notifier " <email_id>},
      :exception_recipients => %w{email_id}
    

    注意您有过多的:email =&gt; {...} 声明,用于exception_notifier 版本4 的配置(请参阅here)。但是您不能将exception_notifier4 版本与rails 3.1 一起使用。

    我在 github https://github.com/dimakura/stackoverflow-projects/tree/master/32118817-exception-notification 创建了一个存储库,这是一个工作示例。我使用了 ruby​​ 1.9.3、rails 3.1.12exception_notifier 3.0.1。我猜你正在使用相同的宝石或接近它。

    注意2当我将email: {...}添加到配置中时,异常消息停止到达。

    【讨论】:

    • hi dimakura,所以你建议不要在配置中添加电子邮件:{...}
    • 是的,没有它的配置。我通过使用电子邮件准确地重现了您的错误:{}
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-11
    • 2012-08-01
    • 2018-10-30
    • 2017-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多