2013-05-09 68 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

相关问题