如何在创建自定义邮件时使用Rails邮件程序设置?

时间:2012-11-09 08:24:41

标签: ruby-on-rails ruby email actionmailer

我正在Rails应用中创建一个Mail对象,并希望它选择邮件程序设置:

original = UserMailer.new_registration
original.deliver# Does the job

custom = Mail.new(original.to_s)
custom.deliver # Fails: OpenSSL::SSL::SSLError: hostname does not match the server certificate

显然,自定义Mail对象没有获取Rails设置。

2 个答案:

答案 0 :(得分:4)

查看code,我们可以通过以下方式从邮件程序中获取配置:

custom = ::Mail.new(raw_email)
key = Rails.application.config.action_mailer.delivery_method
delivery_method = ActionMailer::Base.delivery_methods.fetch(key)
delivery_settings = ActionMailer::Base.send("#{key}_settings")
custom.delivery_method(delivery_method, delivery_settings)
custom.deliver

答案 1 :(得分:0)

要使用rails发送自定义邮件,请阅读此内容。

http://mdushyanth.wordpress.com/2011/08/06/custom-mail-delivery-method-in-rails-3/