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

目次

マーケター、エンジニアを月1時間からジョインできるプラットフォーム

airteamは月1時間からマーケターやエンジニアに相談できるプラットフォーム。 雇うのはハードル高いけどプロをチームに入れたい。そんな経営者のためのサービスです。 相談にのる方も募集しています。

タスクなしだから月一時間からジョイン可能

作業はなくオンライン相談メイン。 月1時間からさっと経験者に継続的に相談できます。

多様な経験者を雇用するより何倍も早くチームに

あらゆるジャンルの経験者がいるので あなたのチームのノウハウの選択肢が広がります。

NDAはすでに締結済み、契約もスムーズ

契約の煩雑なやりとりはなく、NDAはすでに締結済み、書面のやりとりはありません。

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にかいて送信。