переключить метод доставки почты в рельсах во время выполнения

Я пытаюсь настроить приложение rails, чтобы я мог выбирать между различными методами доставки почты в зависимости от того, выполняется какое-то условие или нет.

Итак, учитывая два метода доставки:

ActionMailer::Base.add_delivery_method :foo
ActionMailer::Base.add_delivery_method :bar

Я думал, что смогу просто создать перехватчик электронной почты, чтобы делать что-то вроде этого:

class DeliveryMethodChooser
  def self.delivering_email(message)
    if some_condition
      # code to use mail delivery method foo
    else
      # code to use mail delivery method bar
    end
  end
end

Проблема, однако, в том, что я не уверен, как на самом деле изменить способ доставки почты используется для данного сообщения. Любые идеи? Можно ли вообще динамически выбирать, какой метод доставки использовать?

10
задан Frost 4 July 2011 в 13:45
поделиться