2014-12-07 45 views
0

我用我的rails 4应用程序设计。Devise,admin_mailer&config

我试图建立费加罗之前,我让网站去住,但现在,我管理我的production.rb密码我测试的电子邮件帐户。它不会这么长时间,但我的设置遇到了问题。

我有两个,当有人注册被发送admin_mailer电子邮件。其中一封邮件给我,使用一个Gmail帐户让我知道他们已经注册。第二个是给用户的电子邮件,欢迎他们访问该网站。它应该从我设置的第二个电子邮件帐户发送。

在我production.rb,我有:

config.action_mailer.smtp_settings = { 
    address:    'smtp.gmail.com', 
    port:     ###, 
    domain:    'gmail.com', 
    user_name:   '[email protected]', 
    password:    '###', 
    authentication:  'plain', 
    enable_starttls_auto: true } 

    { 
     address:    'smtp.gmail.com', 
     port:     ###, 
     domain:    'gmail.com', 
     user_name:   '[email protected]', 
     password:    '####', 
     authentication:  'plain', 
     enable_starttls_auto: true } 

在我admin_mailer,我设置发件人的电子邮件作为一种或另一种的用户名。

然而,当我运行的代码,无论是电子邮件,从第一个电子邮件地址发送。

有谁知道如何设置,以邮寄,从而使电子邮件从不同的地址发送邮件?

谢谢

回答

0

我觉得每个邮件程序是应该使用一个电子邮件帐户相关联。您可以创建两个独立的邮件程序,并在每个邮件程序中定义smtp设置,而不是在production.rb中。

例如,应用程序/邮寄/ first_mailer.rb:

class FirstMailer < ActionMailer::Base 
    default from: '[email protected]' 
    self.delivery_method = :smtp 
    self.smtp_settings = { 
    # your gmail smtp settings here 
    } 

    def some_email(user) 
    mail(to: user.email, subject: 'Subject') 
    end 
end 

您可以通过调用FirstMailer.some_email(user).deliver发送此。

同样,你再创建另一个文件app /邮寄/ second_mailer.rb使用不同的帐户(等不同的设置)。

有可能做到这一点更干的方式,但我知道这工作。