Как отключить ActionMailer в разработке?
иногда, когда я развиваюсь, у меня нет подключения к Интернету. Это приводит к ошибке, когда мое приложение должно отправить электронное письмо:
getaddrinfo: nodename nor servname provided, or not known
Есть ли простой и быстрый способ, когда я могу изменить значение конфигурации, чтобы заставить ActionMailer просто не пытаться отправить электронную почту и не выкидывать ошибку? Возможно, что-то похожее на среду разработки. Или каким-то другим способом я могу избежать выброса ошибки, а мой код передается туда, куда я вызываю actionmailer?
Я использую Rails 3.1
Ответы
Ответ 1
Общепринятая практика - просто позволить Rails игнорировать ошибки почты. В вашем файле config/environments/development.rb
добавьте, раскомментируйте или измените:
# Don't care if the mailer can't send
config.action_mailer.raise_delivery_errors = false
Вы также можете установить это:
config.action_mailer.perform_deliveries = false
Смотрите документацию здесь http://edgeguides.rubyonrails.org/action_mailer_basics.html#action-mailer-configuration
Вы также можете установить способ доставки: test, но я на самом деле не пробовал это
config.action_mailer.delivery_method = :test
Ответ 2
Если вы хотите отключить доставку почты после инициализации вашего приложения rails (при создании выборочных данных, во время миграции и т.д.):
ActionMailer::Base.perform_deliveries = false