Как отключить ActionMailer в разработке? - PullRequest
24 голосов
/ 11 октября 2011

иногда, когда я развиваюсь, у меня нет подключения к интернету. Это приводит к ошибке, когда мое приложение отправляет электронное письмо:

getaddrinfo: nodename nor servname provided, or not known

Есть ли простой и быстрый способ, где я могу изменить значение конфигурации, чтобы ActionMailer просто не пытался на самом деле отправить электронное письмо и не выдать ошибку? Может быть, что-то, что находится в области разработки. Или каким-то другим способом я могу избежать выдачи ошибки и передачи моего кода везде, где я называю actionmailer доставкой?

Я использую Rails 3.1

Ответы [ 2 ]

55 голосов
/ 11 октября 2011

Обычная практика - просто позволять 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
14 голосов
/ 18 ноября 2014

Если вы хотите отключить доставку почты после инициализации приложения rails (при создании примера данных, во время миграции и т. Д.):

ActionMailer::Base.perform_deliveries = false
...