web-dev-qa-db-ja.com

開発中のActionMailerを無効にする方法は?

開発中はインターネットに接続できないことがあります。これにより、アプリがメールを送信することになっている場所でエラーが発生します。

getaddrinfo: nodename nor servname provided, or not known

ActionMailerが実際に電子メールを送信しようとせず、エラーをスローしないように構成値を変更できる簡単で迅速な方法はありますか?たぶん、開発環境にスコープされた何か。または、actionmailerが配信する場所を呼び出すと、エラーがスローされてコードが渡されるのを回避できる他の方法はありますか?

私はRails 3.1を使用しています

28
alik

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
56
Wizard of Ogz

Railsアプリが初期化された後(サンプルデータの作成中、移行中など)にメール配信を無効にする場合:

ActionMailer::Base.perform_deliveries = false
14
dhulihan