Как кешировать почтовое представление при отправке массивной почты - PullRequest
0 голосов
/ 03 апреля 2012

Мне нужно отправить большое электронное письмо, я буду использовать его для отложенной работы, и мне нужно будет создать сообщение на 3 языках (de, en, re). Как я могу кэшировать представление, чтобы оно не требовало создавать каждый раз, когда я вызываю метод mail.

1 Ответ

1 голос
/ 05 апреля 2012

Метод доставки - это тот, который отправляет электронное письмо, поэтому вы можете сделать это:

def send_emails
  # You can set here the email with attachments and all stuff
  mail = MyMailer.send_message("demo@example.com")
  body = mail.html_part.body

  User.all.each do |u|
    mail.to = u.email
    mail.html_part.body = body.gsub(/user_id/, u.id)
    mail.deliver
  end
end

Конечно, лучше установить этот метод для фоновой обработки.

...