使用 Mandrill 和 Rails 的多个收件人
Multiple recipients using Mandrill and Rails
我正在使用 ruby 通过 Mandrill 发送交易电子邮件。
作为我产品的一部分,我希望能够将同一封电子邮件发送给两个收件人,并让他们看到彼此的电子邮件地址。
(就像两个人之间的介绍邮件)。
所以我在 "to" 字段中填写了两封电子邮件,在我的仪表板上似乎两封邮件都已发送。
但不幸的是只有一个收件人收到了邮件,第二个收件人的详细信息被隐藏了。
总而言之,我有两个问题:
只有一位收件人收到邮件
隐藏第二个收件人的详细信息。
如果你想让两个收件人都能看到对方,你可以在to
选项中传递一个e-mails的数组。
如果你不想让他们中的任何一个看到对方,你可以在用户循环中发送说e-mail。
如果使用 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
)
Post 你的代码,我知道你的问题可能是什么。请记住,ActionMailer
class 中的方法只能 return mail()
并且不得在该方法内部循环。
tldr:在邮件程序外部执行与 e-mail 无关的所有操作,将必要的数据作为参数传递给方法,使用 mail()
调用结束方法。
我联系了 Mandrill 支持,他们是这样回复的:
If you'd like to enable this option globally for all of the messages you send, then you'll want to ensure that you have the
"Expose The List Of Recipients When Sending To Multiple Addresses"
option enabled in your Sending Defaults.
If, instead of making that change globally, you'd like to enable it
for individual messages, you'll want to use the
X-MC-PreserveRecipients (SMTP header), or the preserve_recipients (API
parameter), and set it to 'true'.
If you set this option to true, we'll expose the list of recipients to
each other as you would see happen when sending mail from a typical
email client program.
成功了!
我正在使用 ruby 通过 Mandrill 发送交易电子邮件。 作为我产品的一部分,我希望能够将同一封电子邮件发送给两个收件人,并让他们看到彼此的电子邮件地址。 (就像两个人之间的介绍邮件)。
所以我在 "to" 字段中填写了两封电子邮件,在我的仪表板上似乎两封邮件都已发送。 但不幸的是只有一个收件人收到了邮件,第二个收件人的详细信息被隐藏了。
总而言之,我有两个问题:
只有一位收件人收到邮件
隐藏第二个收件人的详细信息。
如果你想让两个收件人都能看到对方,你可以在to
选项中传递一个e-mails的数组。
如果你不想让他们中的任何一个看到对方,你可以在用户循环中发送说e-mail。
如果使用 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
)
Post 你的代码,我知道你的问题可能是什么。请记住,ActionMailer
class 中的方法只能 return mail()
并且不得在该方法内部循环。
tldr:在邮件程序外部执行与 e-mail 无关的所有操作,将必要的数据作为参数传递给方法,使用 mail()
调用结束方法。
我联系了 Mandrill 支持,他们是这样回复的:
If you'd like to enable this option globally for all of the messages you send, then you'll want to ensure that you have the "Expose The List Of Recipients When Sending To Multiple Addresses" option enabled in your Sending Defaults.
If, instead of making that change globally, you'd like to enable it for individual messages, you'll want to use the X-MC-PreserveRecipients (SMTP header), or the preserve_recipients (API parameter), and set it to 'true'.
If you set this option to true, we'll expose the list of recipients to each other as you would see happen when sending mail from a typical email client program.
成功了!