Ограничить ActionMailer одним доменом - PullRequest
5 голосов
/ 10 августа 2010

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

Не похоже, что ActionMailer поддерживает это с самого начала, но есть ли плагин или какой-то патч, который мог бы сделать это?

Ответы [ 3 ]

2 голосов
/ 10 августа 2010

Я успешно выполняю следующие действия:

module FilteredMailer

  def self.included(base)
    base.class_eval do
      alias_method :create_mail_orig, :create_mail

      def create_mail
        recipients(filter_out_recipients(recipients))
        create_mail_orig
      end
    end
  end

  private

  def filter_out_recipients(recipients)
    ...
  end
end

Вам необходимо включить этот модуль во все ваши почтовые программы. Это работает в Rails 2.3.8, я не знаю, работает ли это в Rails 3.

1 голос
/ 10 августа 2010

Посмотрите на камень sanitize_email - это прекрасное решение для этого.

Он не позволяет указать домен, но позволяет ограничить отправку электронной почты определенным списком получателей, что предотвратит отправку писем непреднамеренным получателям.

0 голосов
/ 03 февраля 2011

Проверьте драгоценный камень mail_safe. Он в некоторой степени похож на гем sanitize_email, но позволяет продолжать отправлять электронные письма для доменов / электронных писем из белого списка. И это сообщение в блоге (не мое) охватывает как настройку, так и использование gean-файлов sanitize_email и mail_safe.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...