【问题标题】:Rails send individual email to each user?Rails 向每个用户发送单独的电子邮件?
【发布时间】:2013-03-29 17:48:49
【问题描述】:

我在 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,并按预期将所有用户添加到密件抄送字段。

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

这可能和/或推荐吗?

【问题讨论】:

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


    【解决方案1】:

    是的,这是可能的,但是您必须执行一个循环,它将向每个用户发送一封电子邮件。这将需要更多的资源并且会更慢;这就是为什么许多邮寄者使用“密件抄送方法”而不是发送单个电子邮件的原因。

    【讨论】:

    • 我刚刚意识到它正在向每个用户发送一封电子邮件,但在密件抄送字段中包含每个用户。这意味着每个用户将在 X 用户数量后收到此电子邮件。换句话说,它向每个用户发送电子邮件 100 次..
    • 我不知道您的new_resource_notification() 是如何被调用的,但如果它向单个用户发送 100 封电子邮件,则意味着循环是在其他地方创建的,或者您有 100 个相同的地址在你的资源中?
    猜你喜欢
    • 2016-09-18
    • 1970-01-01
    • 2013-12-03
    • 1970-01-01
    • 2015-09-21
    • 2017-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多