railsのactionmailerでメール通知機能を作る

1 min 139 views
muraoka

muraoka

pixiv、nanaでプロダクトマネージャーを経験。
現在はマーケティングやwebサービス開発のコンサルティングを行っています。

FOLLOW

railsのaction mailerでメール通知機能を作る手順についてまとめていきます。

やりたいこととしては下記

  • controllerから呼び出してactionmailerでメール送信

全体像

  • application_mailerにてデフォルトの設定
  • mailerを作成し、mailer.rbにメールの内容を設定(controllerのような役割
  • viewにメール本文記載
  • controllerに発火タイミングを記載

application_mailerにてデフォルトの設定

/app/mailers/application_mailer.rbに下記設定

class ApplicationMailer < ActionMailer::Base
  default from: "from@example.com"
  layout "mailer"
end

mailer作成

rails generate mailer UserMailer

上記コマンドでmailer作成。これにより下記ファイルが生成

  • app/mailers/marumaru_mailer.rb : メーラーのメインファイル。
  • app/views/marumaru_mailer/ : このメーラーに関連するビューファイルを格納するディレクトリ。

viewにメール本文

app/views/marumaru_mailer/のディレクトリ内にファイル作成。

ファイル名はメソッド名と一緒に。

text.erbで作成するとhtmlメールではなくテキストメールになる。

controller

NotificationMailer.send_oubo_notification("なんか引数あったらここに").deliver_later

上記をcontrollerにかいて送信。

muraoka

muraoka

pixiv、nanaでプロダクトマネージャーを経験。
現在はマーケティングやwebサービス開発のコンサルティングを行っています。

FOLLOW

関連記事