2013-05-09 67 views
2

如何在電子郵件收件箱中更改此代碼,以便當current_user從應用程序發出電子郵件時,收件人收到它:from => current_user.email。ActionMailer :: Base Dynamic:來自電子郵件地址

目前它來自「[email protected]」,但我希望這動態改變,這是可能的,而不會導致電子郵件進入垃圾?

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

    def email_listing(user, listing, email) 
     @user = user 
     @listing = listing 
     @email = email 
     @url = "www.example.com" 

     mail(:to => @email.email, :subject => @user.name) 
    end 
end 

回答

5

您只需通過從選項從地址添加自定義,並通過一個答覆地址到郵件法REPLY_TO選項,像

def email_listing(user, listing, email) 
    @user = user 
    @listing = listing 
    @email = email 
    @url = "www.example.com" 

    mail(:to => @email.email, :subject => @user.name, from: '[email protected]', reply_to: @user.email) 
end 
+0

當我這樣做:從=> @ user.email,它不起作用。電子郵件仍然說:「[email protected]」 - 我在配置中設置的電子郵件不是用戶電子郵件 – Benamir 2013-05-09 00:49:23

+0

什麼是錯誤?警惕從其他用戶的地址發送電子郵件。通常,發件人地址是某個站點範圍內的地址,如「[email protected]」(因此,用戶不會向其他用戶發送電子郵件,即收件人嘗試回覆)。 – cbarton 2013-05-09 00:52:06

+0

如何獲得收件人只需單擊回覆,並將電子郵件發送給發送用戶而不是網站電子郵件 – Benamir 2013-05-09 00:56:16

相關問題