2017-08-16 115 views
1

我想通过SMTP使用通过某种Web表单提供的凭据从电子邮件发送电子邮件。因此,不是使用像这样在启动时配置邮件:使用自定义SMTP设置发送电子邮件

ActionMailer::Base.smtp_settings = { 
    :address    => address, 
    :domain    => domain, 
    :user_name   => user_name, 
    :password    => password, 
} 

,然后发送使用UserMailer.send_mail(user).deliver_now

我想基于获得的变量设置SMTP设置只对一个邮件的邮件来自数据库。

是否有可能用rails来实现这种行为?

回答

0
class UserMailer < ApplicationMailer 
    self.smtp_settings = { 
    :address => ‘smtp.gmail.com’, :port => 587, 
    :domain => ‘gmail.com’, 
    :authentication => ‘plain’, 
    :user_name => <email_username>, 
    :password => <email_password>, 
    :enable_starttls_auto => true 
    } 

send_mail(option, data) 

    email.delivery_method.settings.merge!({:address => 
    Email.email_address, :port => Email.email_port, :domain => 
    Email.email_domain, :user_name =>Email.email_username, :password => Email.email_password, :enable_starttls_auto => true}) 
    email.deliver_now 
end 

end 

尝试类似