メールの送信処理 ruby on rails (Mailerとgem malicatcher)

まずはメイラーの作成

rails g mailer TaskMailer

app/mailers/task_mailer.rb
app/views/task_mailer
(test,previewファイルも作られ計4つのフォルダができる)

できたtask_mailer.rbにメール内容のメソッドを作る

今作ったtask_mailer.rbに書いたメソッドはtask_controllerのcreateアクションに書く。タスク保存した後にメールを送信したいのでsaveの後に書いてそこで呼びだす。

createアクションでtask_mailer.rbにあるメソッドに行き、そこから見に行くviewを作る

views/task_mailerフォルダ作成し
creation_email.text.slimと
creation_email.html.slimのファイルを作る
(中のコードは割愛します。)

ここまでで実装はOK
ローカルで動作確認をする為にmailcatcherを使用

gem install mailcatcher

config/environments/development.rb
にmailcatcherSMTPサーバーを使います!とゆう設定が必要

config.action_mailer.raise_delivery_errors = falseconfig.action_mailer.delivery_method = :smtpconfig.action_mailer.smtp_settings = { address: '127.0.0.1', port: 1025}

まずmailcatcherを起動する
ターミナルにmailcatcherとしてenter。起動します。
その後でタスク登録して見て、ブラウザで

https://127.0.0.1:1080/

にアクセスしたら見れます

スポンサーリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)