前提・実現したいこと
ActiveMailerで複数のユーザ宛てにToで送りたいです。
対象のユーザをハッシュ形式で変数に格納し、展開する形で送る設定をしているのですが、一人のユーザにしか送られない状態です。
デバックをしたところ、ハッシュの変数に複数ユーザが格納されており、展開も複数宛先分展開されているようです。
mail toに直接宛先を記載し、送付することはできているので、上記の変数展開部分の記載の仕方が間違っていることが原因だと思っているのですが、記載方法が分からないため、教えて頂けますでしょうか。
※調査した限り、<宛先1>,<宛先2>のように『,』で複数宛先を指定する記載する必要があるようです。下記の記載で意図した動作になりましたので、この形式でハッシュを展開する必要がありそうです。
mail to: "<宛先1>,<宛先2>", subject: "SSL有効期限通知メールです。"
発生している問題・エラーメッセージ
※下記はppデバックした際のログになります。 "表示↓@mailto" [#<UserDatum:0x0000559fe5ee0f90 user_id: nil, email: "<宛先1>">, #<UserDatum:0x0000559fe5eddde0 user_id: nil, email: "<宛先2>">] "表示↓mailto" #<UserDatum:0x0000559fe5ee0f90 user_id: nil, email: "<宛先1>"> "表示↓mailto" #<UserDatum:0x0000559fe5eddde0 user_id: nil, email: "<宛先2>">
該当のソースコード
<アプリ名>/app/mailer/sample_mailer.rb
Ruby
1def send_when_limit 2 3 @mailto = UserDatum.select("email").where(authority: "Admin") 4 5 pp "表示↓@mailto" 6 pp @mailto 7 8 @mailto.each do |mailto| 9 10 pp "表示↓mailto" 11 pp mailto 12 13 mail to: mailto.email, subject: "通知メールです。" 14 end 15 end
補足情報(FW/ツールのバージョンなど)
・Rails
Rails 4.2.10
・Mysql
mysql Ver 14.14 Distrib 5.7.22, for Linux (x86_64) using EditLine wrapper
回答1件
あなたの回答
tips
プレビュー