语境:
我需要使用Rails应用程序中的send grid发送批量电子邮件。我将向大约300个订户发送电子邮件。我读过它可以使用完成
headers["X-SMTPAPI"] = { :to => array_of_recipients }.to_json
我已经尝试遵循。
以下是我的ActionMailer:
class NewJobMailer < ActionMailer::Base
default from: "[email protected]"
def new_job_post(subscribers)
@greeting = "Hi"
headers['X-SMTPAPI'] = { :to => subscribers.to_a }.to_json
mail(
:to => "[email protected]",
:subject => "New Job Posted!"
)
end
end
我从控制器调用此mailer方法
..
@subscribers = Subscriber.where(activated: true)
NewJobMailer.new_job_post(@subscribers).deliver
..
send-grid的配置在config / production.rb文件中指定,并且是正确的,因为我可以发送帐户激活电子邮件。
问题:
该应用程序运行正常,不会在任何地方崩溃,但是电子邮件并未发送出去。我猜标题配置没有被传递?我该如何纠正呢?
更新:
我在发送网格仪表板中检查了电子邮件活动。这是其中一封被丢弃的电子邮件的快照:
您正在使用一个ActiveRecord对象数组
@subscribers = Subscriber.where(activated: true)
并将其传递到smtpapi标头中。您需要提取那些ActiveRecord对象的电子邮件地址。
取决于您所说的email
领域,可以通过以下方式完成此操作
headers['X-SMTPAPI'] = { :to => subscribers.map(&:email) }.to_json
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句