40 lines
990 B
Ruby
40 lines
990 B
Ruby
module JamRuby
|
|
class BatchMailer < JamRuby::AsyncMailer
|
|
layout "user_mailer"
|
|
|
|
sendgrid_category :use_subject_lines
|
|
sendgrid_unique_args :env => Environment.mode
|
|
|
|
def _send_batch(batch, users)
|
|
@batch_body = batch.body
|
|
emails = users.map(&:email)
|
|
|
|
sendgrid_recipients(emails)
|
|
sendgrid_substitute(EmailBatch::VAR_FIRST_NAME, users.map(&:first_name))
|
|
sendgrid_substitute('@USERID', users.map(&:id))
|
|
|
|
batch.did_send(emails)
|
|
|
|
mail(:to => emails,
|
|
:from => batch.from_email,
|
|
:subject => batch.subject) do |format|
|
|
format.text
|
|
format.html
|
|
end
|
|
end
|
|
|
|
def send_batch_email(batch_id, user_ids)
|
|
users = User.find_all_by_id(user_ids)
|
|
batch = EmailBatch.find(batch_id)
|
|
self._send_batch(batch, users)
|
|
end
|
|
|
|
def send_batch_email_test(batch_id)
|
|
batch = EmailBatch.find(batch_id)
|
|
users = batch.test_users
|
|
self._send_batch(batch, users)
|
|
end
|
|
|
|
end
|
|
end
|