我使用的设计与我的rails 4应用程序。
我试着在网站上线之前设置figaro,但现在,我正在用production.rb中的密码管理我的测试电子邮件帐户。这条路不会持续太久,但我的设置出了问题。
我有两封admin_mailer电子邮件,当有人注册时,它们会被发送。一个是给我的电子邮件,使用一个gmail帐户让我知道他们已经注册了。第二个是发送给用户的电子邮件,欢迎他们访问该网站。它应该是从我设立的第二个电子邮件帐户发送的。
在我的production.rb中,我有:
config.action_mailer.smtp_settings = {
address: 'smtp.gmail.com',
port: ###,
domain: 'gmail.com',
user_name: 'firstemailaddress@gmail.com',
password: '###',
authentication: 'plain',
enable_starttls_auto: true }
{
address: 'smtp.gmail.com',
port: ###,
domain: 'gmail.com',
user_name: 'secondemailaddress@gmail.com',
password: '####',
authentication: 'plain',
enable_starttls_auto: true }
在我的admin_mailer中,我将邮件发件人设置为其中的一个或另一个用户名。
但是,当我运行代码时,这两封电子邮件都是从第一个电子邮件地址发送的。
有没有人知道如何设置邮件发送者,以便电子邮件从不同的地址发送?
谢谢
发布于 2015-01-30 17:33:55
我认为每个邮件应该与一个电子邮件帐户相关联。您可以创建两个单独的邮件程序,并在每个单独的邮件程序中而不是在production.rb中定义smtp设置。
例如,app/mailers/first_mailer.rb:
class FirstMailer < ActionMailer::Base
default from: 'firstemailaddress@gmail.com'
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/mailers/second_mailer.rb,它使用不同的帐户(以及不同的设置)。
也许有更干燥的方法来做这件事,但我知道这是可行的。
https://stackoverflow.com/questions/27338098
复制相似问题