[英]ActionMailer automatic emails. Ruby on Rails
為我們的支持團隊建立一個“票務系統”,以便他們可以在客戶打電話和提出要求時創建票證。
我的工作量很大,現在,每次為應用程序創建票證時,我都需要向該票證分配的人發送電子郵件。 此信息全部在數據庫中,可以輕松訪問。
你們對我如何執行此建議或我可以使用的任何文檔有任何建議嗎?
謝謝!
看看這個Railscast上手你的郵件- http://railscasts.com/episodes/206-action-mailer-in-rails-3
基本上,在工單create
方法中,您要呼叫郵件程序並傳遞分配人的電子郵件,以便每次創建工單時都會發送一封電子郵件。
# Model
class Ticket
...
after_create: :send_email
...
def send_email
Mailer.delay_for(5.minutes).send_ticket(id, assigned_to.id) # delay sending e-mail
Mailer.send_ticket(id, assigned_to.id).deliver # or send it now..
end
end
class Mailer < ActionMailer::Base
def send_ticket(ticket_id, assigned_to_id)
@assigned_to = User.find(assigned_to_id)
@ticket = Ticket.find(ticket_id)
mail(
from: 'you<do-not-reply@your_domain.com>',
to: @assigned_to.email,
subject: 'new assignment'
)
end
end
這主要是邏輯,現在為視圖添加以下文件app/views/mailer/send_ticket.html.haml
Hey #{@assigned_to.name},
%p you have been assigned to a new ticket #{@ticket.id}
%p here is the link to the ticket #{@ticket.url}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.