我想在討論發生變化時通知關注者。討論有很多追隨者。 現在,我在課堂討論這樣做:發送100封電子郵件
self.followers.each do |follower|
DiscussionMailer.delay.new_reply_notification(user, reply) unless reply.user == user
end
雖然這是asyncronous,這是相當緩慢的,內存餓,就建立和Redis的依賴sidekiq。 如何將self.followers數組發送到mailgun或其他api併發送所有這樣的電子郵件? 這裏是我的實際郵件的方法:
def new_reply_notification(user, reply)
@user = user
@reply = reply
@reply_user = @reply.user
mail(to: user.email,
from: "[email protected]"
subject: "#{@reply_user.user_name} has just replied!")
end
,所以我想在郵件的方法在這裏是關鍵。我怎樣才能改變它做這樣的事情:
mail(to: followers_aray,
from: "[email protected]"
subject: "#{@reply_user.user_name} has just replied!")
Im up up for any gems,mandrill gem looks promising。
更新
大家都告訴我在工作人員這樣做。雖然我同意,我已經在我的SMTP日誌注意到這個領域:
"envelope": {
"targets": "[email protected]",
"transport": "",
"sender": "[email protected]"
}
所以即時猜測我的信封可以有任意數量的目標。如果我的smtp服務器正在完成所有工作,爲什麼我需要使用工人?
如果你把所有的地址在'到:'每個人都會看到所有電子郵件地址。可能不想讓你(或他們)想要。我們通常會在'to:'字段中輸入一個自己的電子郵件地址,並在'bcc:'中輸入所有收件人。 –
酷...密件抄送需要一個數組? – Starkers
':','cc:'和'bcc:'都可以採用單個地址或數組。 http://api.rubyonrails.org/classes/ActionMailer/Base.html#method-i-mail –