#ruby-on-rails #actionmailer
Вопрос:
Я пытаюсь предотвратить доставку электронных писем, чтобы я мог проверить содержимое ActionMailer::Base.deliveries
для тестирования в промежуточной среде. config.action_mailer.delivery_method = :test
У меня есть настройки среды, но Rails все еще пытается доставлять электронные письма, а массив доставок пуст. Что я делаю не так?
Комментарии:
1. В каких конкретно настройках среды?
2. Я тестирую его в своей среде разработки, но в конечном счете собираюсь использовать его в промежуточной среде. Я хочу регистрировать электронные письма в базе данных, а не доставлять их.
3. В каком файле вы установили
delivery_method
конфигурацию? Соответствует ли ваша конфигурация среды выполнения среде, в которой вы ее установили? Какая версия Рора? и т.д.4.
config/environments/development.rb
. Я даже дважды проверил правильность настройки консоли railsRails.application.config.action_mailer.delivery_method
. Рельсы 6.1.15.
config.action_mailer.perform_deliveries
настроено наfalse
?
Ответ №1:
Я согласен с другим комментатором в том, что лучший способ предотвратить все поставки-это использовать конфигурацию action_mailer.
Однако, если вам нужен альтернативный подход, который позволил бы перенаправлять любую почту или прекращать доставку на основе динамического набора условий и т. Д., Я бы посоветовал вам проверить Перехватчики почты:
http://guides.rubyonrails.org/action_mailer_basics.html#intercepting-emails