我想開發這個應用程序,有一個着陸頁,我可以收集電子郵件地址,以管理員身份登錄併發送郵件給所有訂閱用戶,我使用Action mailer和我的Gmail帳戶smtp配置。發送郵件給多收件人沒有收件人看到其他人我發送到
當我發送郵件時,每個人都會收到郵件,並且看到我正在使用自己的Google郵件帳戶進行測試時,我可以看到其他人收到了郵件。
Mailforsubcriber控制器
def create
@mailforsubscriber = Mailforsubscriber.new(mailforsubscriber_params)
respond_to do |format|
if @mailforsubscriber.save
RecipientMailer.newsletter(@mailforsubscriber).deliver_now
format.html { redirect_to @mailforsubscriber, notice: 'Mail for subscriber was successfully sent.' }
format.json { render :show, status: :created, location: @mailforsubscriber }
else
format.html { render :new }
format.json { render json: @mailforsubscriber.errors, status: :unprocessable_entity }
end
end
末
這是收件人郵件代碼
class RecipientMailer < ApplicationMailer
require 'digest/sha2'
default from: "[email protected]"
default to: Proc.new {Subscribeduser.pluck(:email) }
default "Message-ID" => "#{Digest::SHA2.hexdigest(Time.now.to_i.to_s)}@domain.com"
def newsletter(mailforsubscriber)
@mailforsubscriber = mailforsubscriber
mail(subject: "Newsletter")
end
end
我如何解決此得到?
我想將它發送給很多人,而不必手動輸入他們的電子郵件地址。 「mailforsubscriber.email」位意味着訂閱者的郵件有一個電子郵件地址,但事實並非如此。用戶的郵件和模型中的訂閱用戶之間基本上沒有關係,因爲這可能變得複雜。 –
「我正試圖將其發送給很多人」 - 這意味着您提出的解決方案的密件抄送位並不適合我的應用程序。如果我在前面的評論中不夠清楚 –
您可以將存儲在變量中的電子郵件ID數組傳遞給動作郵件程序。由於您想在一次通話中發送給多個用戶,因此請使用:to => [數組ID]。這將導致所有的郵件ID都暴露給其他人。 – Bijendra