2012-11-09 70 views
0

我創建的Rails應用一個Mail對象,並希望它挑郵件設置:如何在創建自定義郵件時使用Rails郵件設置?

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的設置。

回答

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 
+0

謝謝。一直在我的頭上敲這個。 – csi

相關問題