Deviseを使って簡単にユーザー認証機能をつくることができます。私もお世話になっております。
今回はDeviseにてE-mail認証機能をつくり、メール内のリンククリックによる認証が完了したときに自動で配信されるWelcomeメールの実装方法です。
やり方だけ書きます。このやり方で実装すればとりあえず実装できます。
①「model/user.rb」 ファイルへ
def after_confirmation
UserMailer.welcome_email(self).deliver
end
Deiviseではすでにメソッドが用意されています。メール配信のアクションを、「model/user.rb」ファイルに書いてください。
②mailerの準備
class UserMailer < ApplicationMailer
def welcome_email(user)
@user = user
mail(to: @user.email, subject: "Welcome! You are awesome!")
end
end
「mailers/user_mailer.rb」に上記コードを書いてください。メール送信設定ですが、mail(to: "送信先", subject: "件名") のように設定してください。今回の場合、件名は「Welcome! You are awesome!」になります。
③メールテキストの準備
<%= @user.name %> 様
この度は●●●をご利用いただきありがとうございます。
ユーザー登録が完了したのでお知らせします。
「views/user_mailer/welcome_email.text.erb」に本文を入力してください。
welcome_email.text.erb → welcome_email.html.erb にするとhtmlでメール本文表示を編集することができます。
<h2> <%= @user.name %> 様</h2>
<p>この度は●●●をご利用いただきありがとうございます。</p>
<p>ユーザー登録が完了したのでお知らせします。</p>
これで完了です。以上。
参考