使用Mandrill和Rails的多个收件人

时间:2016-01-22 15:52:47

标签: ruby-on-rails ruby email mandrill

我使用ruby通过Mandrill发送交易电子邮件。 作为我的产品的一部分,我希望能够向两个收件人发送相同的电子邮件,让他们看到彼此的电子邮件地址。 (就像两个人之间的介绍邮件一样)。

所以我把他填满了#34;两个电子邮件的字段,在我的仪表板上似乎都发送了。 但不幸的是,只有一个收件人收到邮件,第二个收件人的详细信息被隐藏。

总之,我有两个问题:

  1. 只有一位收件人才能收到邮件

  2. 第二位收件人的隐藏详情。

2 个答案:

答案 0 :(得分:1)

如果您希望两个收件人能够看到对方,您可以在to选项中传递一系列电子邮件。

如果你希望他们中的任何一个看到对方,你可以在用户循环中发送所述电子邮件。

如果使用ActionMailer,可以这样做:

mail(
  to: ['person1@gmail.com', 'person2@gmail.com']
)

或循环:

[user1, user2].each do |user|
  UserMailer.some_email(user).deliver_now
end

mail(
  to: user.email
)

发布您的代码,我知道您的问题可能是什么。请记住,ActionMailer类中的方法只应返回mail(),并且不得在该方法内循环。

tldr:执行与邮件外部电子邮件无关的所有操作,将必要的数据作为参数传递给方法,使用mail()调用结束方法。

答案 1 :(得分:0)

我接近了Mandrill的支持,这就是他们回复的内容:

  

如果您要为发送的所有邮件全局启用此选项,那么您需要确保拥有   "在发送到多个地址时公开收件人列表"   您的发送默认值中启用了选项。

     

如果您不想在全球范围内进行更改,则需要启用它   对于个别消息,您将要使用   X-MC-PreserveRecipients(SMTP标头)或preserve_recipients(API   参数),并将其设置为' true'。

     

如果您将此选项设置为true,我们会将收件人列表公开给   正如您在从典型的邮件发送邮件时所看到的那样   电子邮件客户端程序。

有效!