发送邮件给所有用户

时间:2014-04-01 12:40:59

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

    class UserMailer < ActionMailer::Base
  default from: 'nixers@fixrnix.in'

  def welcome_email(user)
    @user = user
    @url  = 'http://www.fixrnix.in'
    mail(to: @user.email , subject: 'Welcome to FixNix Audit Management')
  end
end

如何向所有用户发送电子邮件而不是单个用户邮件(至:@user.email,主题为:'欢迎使用FixNix审核管理')

2 个答案:

答案 0 :(得分:8)

您也可以传递地址数组:

def welcome_email(users)
  @url  = 'http://www.fixrnix.in'
  mail(to: users.pluck[:email] , subject: 'Welcome to FixNix Audit Management')
end

但是,如果您的电子邮件正文取决于用户,或者您不希望邮寄用户看到其他用户的地址,则无法执行此操作。您需要为每个用户创建一条新消息并单独发送。

users.each do |user|
  YourMailer.welcome_email(user).deliver
end

答案 1 :(得分:0)

您只需在邮件中执行此操作

即可
emails = users.collect(&:email).join(", ")
mail(to: emails, subject: 'Welcome to FixNix Audit Management')

希望这有帮助!