私はアクションメーラーのために、このクラスを使用します。オーバーライドメール機能actionmailerの
class UserMailer < ActionMailer::Base
default from: "[email protected]",
reply_to: '[email protected]'
def mail_method
mail(to: '[email protected]', subject: "SUBJECT")
end
end
したがって、このように私は、SMTP配信方法からこのようなメールを送って、多くのクラスやメソッドを得ました。
しかし、私は配信を実行します。つまり、開発環境やテスト環境以外の運用環境でのみメールを送信します。
私は自分のメールのみを使用したいので、メールの方法をオーバーライドする必要があります。
私が試したこと。
- 次のように関数名は
class UserMailer < ActionMailer::Base
default from: "[email protected]",
reply_to: '[email protected]'
def mail_method
mail(to: get_right_email('[email protected]'), subject: "SUBJECT")
end
end
そしてget_right_emailの定義get_right_emailである電子メールを返す関数を作る>は次のとおりです。
def get_right_email(email)
if(Rails.env=='production')
return email
else
return '[email protected]'
end
end
これは、いくつかのリファクタリングが必要になりますが、それはまだ管理可能です。数時間かかると私はすることができますが、私はちょうどメール機能をオーバーライドすることができるより速い方法です。
ありがとう、開発のための素晴らしい。私はおそらくそれを使用します。しかし、テスト環境はどうですか?テストサーバーはブラウザを持っていなくても、それがボックスであるため、誰もアクセスしません。 – user1735921
テスト環境で何が起こりたいですか? – Eoghain
電子メールはテスト環境で私に送信する必要があります – user1735921