Ruby on rails 从模型绑定操作邮件程序smtp设置

Ruby on rails 从模型绑定操作邮件程序smtp设置,ruby-on-rails,smtp,actionmailer,Ruby On Rails,Smtp,Actionmailer,现在我已经在environment.rb文件中设置了所有smtp设置 我已将我的所有设置存储在数据库中 我想从我的模型绑定smtp设置 如何从模型动态绑定这些设置?class-UserMailerModel.find_by_column_name(“SMTP_tls”)。column_name, :address=>Model.按列名称(“SMTP地址”)查找列名称, :port=>Model.find_by_column_name(“SMTP_port”)。column_name, :doma

现在我已经在environment.rb文件中设置了所有smtp设置

我已将我的所有设置存储在数据库中

我想从我的模型绑定smtp设置

如何从模型动态绑定这些设置?

class-UserMailerclass UserMailer < ActionMailer::Base

   UserMailer.smtp_settings = {
      :tls            => Model.find_by_column_name("SMTP_TLS").column_name,
      :address        => Model.find_by_column_name("SMTP_ADDRESS").column_name,
      :port           => Model.find_by_column_name("SMTP_PORT").column_name,
      :domain         => Model.find_by_column_name("SMTP_DOMAIN").column_name
   }

  def mail_example(to_address,subject,options={})
    sender(to_address,subject,options)
  end

  def sender(to_address,subject,options)
    recipients to_address
    from Model.find_by_column_name("SMTP_FROM_ADDRESS").column_name
    subject subject
    sent_on Time.now
    body options
  end
end
UserMailer.smtp\u设置={ :tls=>Model.find_by_column_name(“SMTP_tls”)。column_name, :address=>Model.按列名称(“SMTP地址”)查找列名称, :port=>Model.find_by_column_name(“SMTP_port”)。column_name, :domain=>Model.find\u by_column\u name(“SMTP\u domain”)。column\u name } def mail_示例(收件人地址、主题、选项={}) 发件人(收件人地址、主题、选项) 结束 def发送者(收件人地址、主题、选项) 收件人地址 从模型中。按列名称查找列名称(“SMTP列地址”)。列名称 主题主题 现在就准时送你 身体选择 结束 结束 我已经创建了一个通用的发送器函数。 这可能会有所帮助。

classusermailerModel.find_by_column_name(“SMTP_tls”)。column_name,
:address=>Model.按列名称(“SMTP地址”)查找列名称,
:port=>Model.find_by_column_name(“SMTP_port”)。column_name,
:domain=>Model.find\u by_column\u name(“SMTP\u domain”)。column\u name
}
def mail_示例(收件人地址、主题、选项={})
发件人(收件人地址、主题、选项)
结束
def发送者(收件人地址、主题、选项)
收件人地址
从模型中。按列名称查找列名称(“SMTP列地址”)。列名称
主题主题
现在就准时送你
身体选择
结束
结束
我已经创建了一个通用的发送器函数。
这可能会有所帮助。

警告:smtp\u设置是一个类变量,而不是实例变量。如果服务器为每个用户请求派生一个不同的ruby进程,那么上面的方法将起作用。如果没有分叉新进程,而是根据用户请求创建线程,则可能存在争用条件。

警告:smtp\U设置是类变量,而不是实例变量。如果服务器为每个用户请求派生一个不同的ruby进程,那么上面的方法将起作用。如果没有分叉新进程,而是根据用户请求创建线程,则可能存在争用条件。

可以在模型中动态设置SMTP设置。我也遇到了这个问题,因为gmail每天只允许发送500封电子邮件。我找到了一些解决方案,但效果最好的是第一个。谢谢。。可以在模型中动态设置SMTP设置。我也遇到了这个问题,因为gmail每天只允许发送500封电子邮件。我找到了一些解决方案,但效果最好的是第一个。谢谢。。这对我很有用。