読者です 読者をやめる 読者になる 読者になる

Shiho's engineering blog

誰でもみれるノートのようなもの

rails メール一斉送信 #自分用メモ

/tmp/users.csv にデータを出力

SELECT * FROM users INTO OUTFILE ‘/tmp/users.csv’ FIELDS TERMINATED BY ‘,’ OPTIONALLY ENCLOSED BY ‘“’;

一斉送信

 User.all.each do |user|
        MessageMailer.send_diffusion(@message, user).deliver!
      end

管理画面からメール作成、一斉送信

# app/mailers/user_mailer.rb
class UserMailer < ActionMailer::Base
  def all_notify(users, title, content)
    mail from: 'mail_sender@address.jp'
    mail to: users.map{|u| u.mail}
    mail subject: title
    @content = content
  end
end

# app/view/user_mailer/all_notify.txt.erb

こんにちは
ここから本文--------------
#{@content}
---------------------ここまで

# app/controllers/user_controller.rb メールを送信するコントローラ

# 前略
  def send_to_all
    title = params[:title]
    content = params[:content]
    users = User.all
    UserMailer.all_notify(users, title, content).deliver
  end
# 後略

参考

qiita.com

teratail.com