Ответ 1
Я удивлен, как мало в документации Rails об этом.
В основном ActionMailer в Rails 3 вводит использование перехватчиков (вызываемых до отправки сообщения) и наблюдателей (после отправки сообщения).
Чтобы настроить Обозреватель, добавьте следующее в инициализатор:
class MailObserver
def self.delivered_email(message)
# Do whatever you want with the message in here
end
end
ActionMailer::Base.register_observer(MailObserver)
Теперь метод delivered_email
будет запускаться каждый раз, когда ваше приложение отправляет электронное письмо. Однако у вас будет доступ к фактическому сообщению Mail
.
Чтобы зарегистрировать перехватчик вместо этого, сделайте то же самое, что и выше, заменив register_observer
на register_interceptor
и переименовав метод от self.delivered_email
до self.delivering_email
.
Этот Railscast был лучшим источником, который я мог найти для информации об этом (они говорят только о перехватчиках, но концепция для наблюдателей одинакова).