我们可以在db中保存smtp配置吗?

时间:2015-03-03 11:46:20

标签: ruby-on-rails smtp

我们可以在db中存储smtp设置并获取它们并在环境/ * .rb文件中使用以在运行时使用smtp吗?

由于

2 个答案:

答案 0 :(得分:1)

以常规方式,这是不可能的,因为在应用程序启动时加载了环境/ * .rb,并且您无法在运行时更改它。

您可以使用一些可在运行时配置的邮件gem。

答案 1 :(得分:1)

是的,你可以。查看http://guides.rubyonrails.org/action_mailer_basics.html#sending-emails-with-dynamic-delivery-options

class UserMailer < ApplicationMailer
  def welcome_email(user, company)
    @user = user
    @url  = user_url(@user)
    delivery_options = { user_name: company.smtp_user,
                     password: company.smtp_password,
                     address: company.smtp_host }
    mail(to: @user.email,
        subject: "Please see the Terms and Conditions attached",
        delivery_method_options: delivery_options)
  end
end