我使用ruby通过Mandrill发送交易电子邮件。 作为我的产品的一部分,我希望能够向两个收件人发送相同的电子邮件,让他们看到彼此的电子邮件地址。 (就像两个人之间的介绍邮件一样)。
所以我把他填满了#34;两个电子邮件的字段,在我的仪表板上似乎都发送了。 但不幸的是,只有一个收件人收到邮件,第二个收件人的详细信息被隐藏。
总之,我有两个问题:
只有一位收件人才能收到邮件
第二位收件人的隐藏详情。
答案 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,我们会将收件人列表公开给 正如您在从典型的邮件发送邮件时所看到的那样 电子邮件客户端程序。
有效!