質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

1回答

4423閲覧

rails で複数の人それぞれにメールを一斉配信したいです(アドレスが見えないように)

akikko

総合スコア32

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2020/08/11 17:04

編集2020/08/11 17:30

前提・実現したいこと

railsでメールをデータベースのリストに沿って一斉送信したい。
railsガイドやネット上の記事ですと、一斉配信の方法は出てきます。
ただ、その場合、to: に複数のアドレスが入ってしまい、
別のユーザーにメールアドレスが分かってしまう状態になります。

そうならならず、各ユーザーにメールを一斉配信する良い方法はないでしょうか?
ちなみに、現在は無理やりメーラーのメソッドをコントローラーで
ユーザー人数分回しています。
(実装はできていますが、ユーザーの増加とともに負荷が非効率にかかりそうで
心配です。。)

現在のソースコード

controller.rb

@supporters = Supporter.where(event_id: params[:event_id]).pluck(:email, :name) @supporters.each do |supporter| EntryMailer.report_new_mail(supporter).deliver_now end

entry_mailer.rb

def report_new_mail(supporter) @supporter = supporter mail(subject: "新しく投稿されました" , to: @supporter[0], from: '"事務局" <auto@###>') end

report_new_mail.html.erb

<p><%= @supporter[1] %>様</p>

どなたか、知見が深い方、教えて頂けますと嬉しいです。
どうぞよろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

別のユーザーにメールアドレスが分かってしまう状態になります。

一斉配信時にメールアドレスがわからないようにするには、:bccキーを利用すれば良いかと思います。

CC (カーボンコピー) やBCC (ブラインドカーボンコピー) アドレスを指定する場合にも同じ形式を使えます。それぞれ:ccキーと:bccキーを使います。

Railsガイド:ActionMailer 2.3.3 メールを複数の相手に送信する

投稿2020/08/11 21:35

no1knows

総合スコア3365

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

akikko

2020/08/15 12:33

ご回答ありがとうございます! メールマガジンのように、あて先に受信者1人のアドレスのみが入っているだけの状態にしたいのですが・・・そのようなことは可能でしょうか? 宛先を自分にして、送信先全員をbccに入れる事でしたら上記頂いた方法で実装できると思うのですが、上記のイメージで実装するにはどのようにすればよいでしょうか?
no1knows

2020/08/15 12:56

現状のコードをベースにSidekiqを検討いただくとよいかと思います!
akikko

2020/08/15 13:22

ありがとうございます!バックグラウンド処理を考えるということなのですね!ありがとうございます!
no1knows

2020/08/15 15:52

そうですね。Sidekiqを使って非同期で処理の負荷を下げる形が良いかと思います。 その他に考えられる方法としては、Sendgridなどのメール配信サービスを検討するのも良いかと思います。 Herokuとの相性も良いですし、豊富なオプションが準備されています。 https://sendgrid.kke.co.jp/blog/?p=1300
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問