2016-07-27 13 views
2

私はRailsアプリでDeviseを使用しています。メールの確認、パスワードのリセット、パスワードの変更に関するアドバイスをメールで送信しています。デベロッパーと確認のメール

  • 私はレイアウトにHTMLの負荷を渡す必要がないように、私はこれらの電子メールのそれぞれに異なる画像を渡すだろうか知っていただきたいと思います。理想的には、レイアウトにイメージを渡したいのですが、それが可能であれば、コントローラでこれを行う必要がありますか?

  • ユーザーが既存のメールのみを更新している場合、別のメールを送信するにはどうすればよいですか?現在、deviseは同じ確認メールを送信します。

  • 最後に、自分のアカウントを最初に確認した後、自分のメールを更新するだけではなく、どのようにウェルカムメールを送信するのですか?

すべてのヘルプははるかに高く評価されるだろう、おかげ

答えて

2

あなたの要件を満たすように工夫メーラーを無効にすることができます。

まず第一にDeviseMailer

# app/mailers/devise/mailer.eb 
if defined?(ActionMailer) 
    class Devise::Mailer < Devise.parent_mailer.constantize 
    include Devise::Mailers::Helpers 

    def confirmation_instructions(record, token, opts = {}) 
     @token = token 
     if record.pending_reconfirmation? 
     devise_mail(record, :reconfirmation_instructions, opts) 
     else 
     devise_mail(record, :confirmation_instructions, opts) 
     end 
    end 

    def reset_password_instructions(record, token, opts = {}) 
     @token = token 
     devise_mail(record, :reset_password_instructions, opts) 
    end 

    def unlock_instructions(record, token, opts = {}) 
     @token = token 
     devise_mail(record, :unlock_instructions, opts) 
    end 
    end 
end 

を作成それからちょうど方法ごとにapp/views/devise/mailer/に必要なビューを作成します。ユーザーの変更は、彼らが

  • confirmation_instructionsを電子メールで送信するとき

    • reconfirmation_instructions、う呼び出されますユーザーがメールを確認したときに呼び出される
    • unlock_instructions、accou NTは

    は実際にあなたがしたい任意のテンプレートを作成することができますリセットパスワードに、

  • reset_instructionsがロックされています。

    希望は役立ちます。

  • +1

    私は必要なもののように見えます.D – Alan

    +0

    どうすれば画像を渡すことができますか?私のレイアウトはint型の画像を使うことができますか? – Alan

    +0

    パスワードを変更したメールがもう機能していないことに気付きましたか?私は 'password_change'で追加しようとしましたが、それは動作しません、どんなアイデアですか? – Alan