管理者の受信者に電子メールを送信するアプリケーションを構築しています。開発中はdev@mydomain.comの値を持ち、本番環境ではprod@mydomain.comを持ちます。Railsでこの種のものを構成するための最良の方法は何ですか?私はこのようなものを使いたい:
mail(to: my.delivery.mail, :subject "whatever")
ありがとう
管理者の受信者に電子メールを送信するアプリケーションを構築しています。開発中はdev@mydomain.comの値を持ち、本番環境ではprod@mydomain.comを持ちます。Railsでこの種のものを構成するための最良の方法は何ですか?私はこのようなものを使いたい:
mail(to: my.delivery.mail, :subject "whatever")
ありがとう
さまざまな方法がありますが、最も簡単な方法は次のとおりです。
recipient = Rails.env.production? ? 'prod@mydomain.com' : 'dev@mydomain.com'
mail(to: recipient, :subject "whatevs...")
環境変数の使用
mail(:to => ENV['ADMIN_ADDRESS'], :subject => "whatever")
次に、それらを展開に設定します(capistranoまたはその他のツールを使用)。この情報は、ビジネスロジック(つまり、アプリに属していない)でもビジネスデータ(つまり、データベースに属していない)でもありません。それが環境の目的です。
複数の環境がある場合は、メソッド(主にメーラークラス)を設定して管理者の受信者を設定するか、環境ファイルconfig.admin_mail =dev@mydomain.com
に書き込んでmail(to: AppName::Application.config.admin_email,..)