【问题标题】:Intercepting mail sent with the Pony gem, in a development environment在开发环境中拦截使用 Pony gem 发送的邮件
【发布时间】:2012-10-18 18:06:44
【问题描述】:

我正在使用 Pony gem for ruby​​ on rails,我想知道是否有办法在开发和暂存环境(任何非生产环境)中拦截邮件并将其发送到受控地址,就像你可以做的那样使用 ActionMailer。

我知道使用 ActionMailer 你可以只使用拦截器...

【问题讨论】:

    标签: ruby ruby-on-rails-3 email pony


    【解决方案1】:

    我个人使用mailcatcher 作为拦截器(我不确定我是否使用“拦截器”来表示与您相同的意思)。然后您只需将默认的 Pony.options :via_options 设置为 smtp://127.0.0.1:1025 即可将邮件发送到 mailcatcher。

    【讨论】:

      【解决方案2】:

      只需为您的环境修补 Pony 对象中的 mail 方法。像这样的...

      class Pony
        alias_method :original_mail, :mail
      
        def mail(args)
          args[:to] = 'intercept@example.com'
          original_mail(args)
        end
      end
      

      【讨论】:

      • 我可以看到,添加一些基于 Rails.env 的条件,这可以做到我想要的!我试试看。
      猜你喜欢
      • 2011-05-17
      • 2016-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多