2012-12-04 12 views
9

私は、Mandrill(MailChimpのトランザクション電子メールサービス)と緊密に統合されているアプリケーションで作業していますが、Devise Mailerをオーバーライドしようとしていますが、何らかの理由でMandrill私は彼らの電子メールを受け取りますが、Deviseはまた私に電子メールを送ります(これは空白です)。私は同様の問題に実行していたhttp://qnundrum.com/answer.php?q=254917Rails 3 Deviz Mailerを無効にする

+0

私は考えましたが、** devise.rb **の 'config.mailer'オプションを上書きしようとしましたか? – Noz

+0

私は、オーバーライドの最下部でスーパーに電話をしなければならないため、メールを送信しています。 – dennismonsewicz

+0

スーパーに電話をかけないとどうなりますか? – mccannf

答えて

12

は、ここで私はここで見つけるsuperに私の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 => "[email protected]", 
       :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 

呼び出しです。

は、次の指定に工夫の初期化ファイル(devise.rb)を更新しました:あなたはまた、ビュー/ mydevisemailerに/メーラーを/ビュー内の任意およびすべてのファイルを移動考案する必要

config.mailer = "MyDeviseMailer" 

また、サーバーを再起動します。

関連する問題