Rails向每个用户发送个人电子邮件?

时间:2013-03-29 17:48:49

标签: ruby-on-rails-3 email devise actionmailer

我在Rails 3应用程序中使用以下邮件一次发送大约100封电子邮件:

def new_resource_notification(resource, user)
  @resource = resource
  @user = user
  mails = User.where(:email_subscribe => true).map(&:email)
  mail(:to => "admin@domain.com", :bcc => mails, :subject => "New item added")
end

当我查看外发电子邮件日志时,它会将每封电子邮件发送至admin@domain.com,并按预期将所有用户添加到密件抄送字段。

如果可能,我希望将每封电子邮件发送给用户的电子邮件,而不包含任何密件抄送条目。

这可能和/或推荐吗?

1 个答案:

答案 0 :(得分:0)

是的,这是可能的,但你必须做一个循环,它将向每个用户发送单个电子邮件。这需要更多的资源,而且速度会慢一些;这就是为什么许多邮寄者会做“BCC方法”而不是发送单个电子邮件的原因。