Class | MailSenderController |
In: |
app/controllers/mail_sender_controller.rb
|
Parent: | ApplicationController |
メール履歴から取り出し配送に回す。
# File app/controllers/mail_sender_controller.rb, line 46 46: def deliver 47: if mail_history = MailHistory.find(params[:id]) 48: render :text => mail_history.deliver 49: return 50: end 51: end
メールキューから取り出し配送に回す。
# File app/controllers/mail_sender_controller.rb, line 6 6: def post 7: queue = MailQueue.find(params[:id], :include => [ :product, :from ]) 8: if queue.processed? 9: logger.warn { "WARN: MailQueue #{queue.id} was already processed." } 10: render :text => "true" 11: return 12: end 13: from = queue.from 14: User.current = from 15: product = queue.product 16: document = queue.document 17: comment = queue.comment_message 18: mail_format = MailFormat.find_by_mail_mode(queue.mail_mode) 19: recipients = queue.recipients 20: MailHistory.transaction do 21: recipients.each do |recipient| 22: if user = recipient.user 23: url = url_for(:controller => "user", :action => "auto", :id => queue.id, :u => user.login) 24: set_locale(recipient.last_language) 25: formatted = mail_format.format_all(product, document, from, recipient, url, comment) 26: mail_history = MailHistory.create!({ 27: :mail_queue => queue, 28: :from_value => "#{formatted[:from]} <#{from.mail_address}>", 29: :recipient_value => "#{formatted[:recipient]} <#{recipient.mail_address}>", 30: :subject => formatted[:subject], 31: :body => formatted[:body], 32: :status => "queue", 33: }) 34: mail_history.deliver 35: end 36: end 37: queue.processed = true 38: queue.save! 39: end 40: render :text => "true" 41: ensure 42: set_locale(nil) 43: end