ruby-on-rails-3 – Rails 3覆盖Devail Mailer

前端之家收集整理的这篇文章主要介绍了ruby-on-rails-3 – Rails 3覆盖Devail Mailer前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在处理一个紧密地与Mandrill(MailChimp的事务性电子邮件服务)集成在一起的应用程序,并且我试图覆盖Devise Mailer,但是由于某些原因,当我发送API到Mandrill的API调用时,我收到他们的电子邮件,但Devise也给我发电子邮件(这是空白的).

这是我的DeviseMailer

class MyDeviseMailer < Devise::Mailer
  def reset_password_instructions(record)
    mandrill = Mandrill::API.new("#{MandrillConfig.api_key}")
    mandrill.messages 'send-template',{ 
              :template_name => 'Forgot Password',:template_content => "",:message => {
                :subject => "Forgot Password",:from_email => "test@test123.com",:from_name => "Company Support",:to => [
                  {
                    :email => record.email
                  }
                ],:global_merge_vars => [
                  {
                    :name => "FIRST_NAME",:content => record.first_name
                  },{
                    :name => "FORGOT_PASSWORD_URL",:content => "<a href='#{edit_user_password_url(:reset_password_token => record.reset_password_token)}'>Change My Password</a>"
                  }
                ]
              }
            }
      #We need to call super because Devise doesn't think we have sent any mail 
      super
  end
end

超级电话的呼叫在这里找到:http://qnundrum.com/answer.php?q=254917

解决方法

我遇到类似的问题.

您是否更新了devise初始化程序文件(devise.rb)以指定以下内容

config.mailer = "MyDeviseMailer"

您还需要将视图/ devise / mailer中的任何和所有文件移动到views / mydevisemailer.

我也会重新启动你的服务器.

猜你在找的Ruby相关文章