Ruby on rails 从模型绑定操作邮件程序smtp设置
现在我已经在environment.rb文件中设置了所有smtp设置 我已将我的所有设置存储在数据库中 我想从我的模型绑定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
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封电子邮件。我找到了一些解决方案,但效果最好的是第一个。谢谢。。这对我很有用。