我正在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设置。
答案 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/