Rails ActionMailer with multiple SMTP servers

前端 未结 11 1105
一整个雨季
一整个雨季 2020-12-13 06:19

I have a need to use two different smtp servers in a Rails application. It appears that the way ActionMailer is constructed, it is not possible to have different smtp_settin

11条回答
  •  别那么骄傲
    2020-12-13 07:01

    Rails-2.3.*

    # app/models/user_mailer.rb
    class UserMailer < ActionMailer::Base
      def self.smtp_settings
        USER_MAILER_SMTP_SETTINGS
      end
    
      def spam(user)
        recipients user.mail
        from 'spam@example.com'
        subject 'Enlarge whatever!'
        body :user => user
        content_type 'text/html'
      end
    end
    
    # config/environment.rb
    ActionMailer::Base.smtp_settings = standard_smtp_settings
    USER_MAILER_SMTP_SETTINGS = user_smtp_settings
    
    # From console or whatever...
    UserMailer.deliver_spam(user)
    

提交回复
热议问题