I have and admin_mailer
:
class AdminMailer < ActionMailer::Base
def send_message_to_all_users(user, subject, body, locale)
@user = user
@body = body
@locale = locale
mail(:to => user.email, :subject => subject)
end
end
Inside my action on controller user:
def send_email_to_all_users
users = User.all
subject = params[:subject]
body = params[:body]
locale = params[:locale]
for user in users
User.delay(queue: "Email", priority: 20).send_message_to_all_users(user, subject, body, locale)
end
respond_to do |format|
.........
end
end
In my model User
class User
include Mongoid::Document
include Mongoid::Timestamps::Created
.
.
.
#delayed jobs methods
def self.send_message_to_all_users(user, subject, body, locale)
AdminMailer.send_message_to_all_users(user, subject, body, locale).deliver
end
def deliver
sleep 15
end
end
Mailing list of users
is very long over 20.000 emails account.
My question is if is correct this way to send newsletter with a big mailing list, or I can do this task of better way.
Thank you!