6
class SupportMailer < ActionMailer::Base 
    default :from => "[email protected]" 

    def welcome_email(ticket) 
    case ticket.game 
    when "gameone" 
     @ticket = ticket 
     headers["Reply-to"] = "email1+#{ticket.token}@gmail.com" 
     headers["Return-Path"] = "email1+#{ticket.token}@gmail.com" 
     mail(:from => "[email protected]", :to => ticket.email, :subject => "Welcome to 1 Support Ticket") 
    when "gametwo" 
     @ticket = ticket 
     headers["Reply-to"] = "email2+#{ticket.token}@gmail.com" 
     headers["Return-Path"] = "email2+#{ticket.token}@gmail.com" 
     mail(:from => "[email protected]", :to => ticket.email, :subject => "Welcome to 2 Support Ticket") 
    when "gamethree" 
     @ticket = ticket 
     headers["Reply-to"] = "email3+#{ticket.token}@gmail.com" 
     header["Return-Path"] = "email3+#{ticket.token}@gmail.com" 
     mail(:from => "[email protected]", :to => ticket.email, :subject => "Welcome to 3 Support Ticket") 
    end 
    end 
end 

我已經設置了我的默認值:從,所以我不明白爲什麼我不斷收到此消息,我也是試圖通過頭文件來設置它無濟於事。不斷收到發件人(回覆路徑,發件人或發件人)需要發送消息

這裏是我的設置

ActionMailer::Base.smtp_settings = { 
    :address    => "smtp.gmail.com", 
    :port     => 587, 
    :domain    => "gmail.com", 
    :user_name   => "[email protected]", 
    :password    => "password", 
    :authentication  => "plain", 
    :enable_starttls_auto => true 
} 

我只是把它像這樣,SupportMailer.support_response(@message).deliver

我該如何解決這個問題?

+0

標題是絕對不需要;代碼看起來是正確的,在你的情況下,'default:from'被調用'mail'方法的值覆蓋。我會在上游交貨!方法被調用,或者可能在環境文件中。錯誤來自交付後的第一次測試之一!方法在smtp模塊中。 – 2012-03-13 21:37:58

+0

我看過我的控制器。它看起來沒問題。我的配置看起來很好。我會發布他們 – 2012-03-14 09:34:02

+0

我已經添加了這一行的方法'標題「返回路徑」=>「[email protected]」'現在它抱怨'至少有一個收件人(收件人,抄送或密件抄送)需要發送消息',它看起來像'郵件(...)'沒有拿起它的參數。 – 2012-03-14 10:20:10

回答

3

我注意到你沒有案件陳述的默認情況。如果你永遠不會在Mailer類中的方法中調用「mail」方法,那麼你會得到這個錯誤。嘗試將您的case語句移出到您調用SupportMailer的位置,也許每種情況都有方法。這樣,除非你已經確定了正確的票務遊戲,否則你永遠不會打電話給SupportMailer。

+3

理想情況下,將邏輯從郵件程序中提取出來,如果你不想,你總是可以這樣做:'self.message.perform_deliveries = false',如果你決定中止交付,不要因爲它返回將繼續執行並拋出相同的錯誤。 – brupm 2012-09-13 21:20:47

相關問題