我正在尝试向大量人发送电子邮件。
我之前对下面的这段代码没问题。
但是,我刚刚注意到只有我的第一个虚拟帐户收到了电子邮件,而其他人没有收到任何邮件。
这曾经可以很好地向所有用户发送电子邮件,然后它确实可以正常工作。
现在,即使在垃圾邮件箱中,我也找不到任何消息。
我从来没有改变过我的代码。唯一不同的是与以前相比的用户数量。我认为它运行良好,直到周围有大约 2000 个用户。现在,大约有 8000 个用户。
会有什么问题?我应该怎么做才能解决这个问题?
messages_controller.rb这里有超过 8000 个活跃用户。
users = User.all.order("created_at ASC")
@users_emails = []
users.each do |user|
@users_emails += [user.email]
end
CallMailer.call_email(@users_emails, subject, body).deliver
call_mailer.rb
class CallMailer < ActionMailer::Base
default :from => "noreply@example-foo.com"
def call_email(users_emails, mesesage_subject, mesesage_body)
@users_emails = users_emails
@mesesage_subject = mesesage_subject
@mesesage_body = mesesage_body
mail(
:bcc => @users_emails.join(','),
:subject => @mesesage_subject,
:body => @mesesage_body) do |format|
format.html
end
end
end