Подтвердить что ты не робот

Как отключить ActionMailer в разработке?

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

getaddrinfo: nodename nor servname provided, or not known

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

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

4b9b3361

Ответ 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