我想开发这个应用程序,有一个着陆页,我可以收集电子邮件地址,以管理员身份登录并发送邮件给所有订阅用户,我使用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