0

アクション メーラーが動作するようになりましたが、最終的に使用するユーザー名とパスワードの組み合わせを確実に保護したいと考えています。これは企業向けに開発されており、企業の資格情報、電子メール アドレスなどを使用します。

開発環境でGmailをテストとして使用したものは次のとおりです。

  config.action_mailer.smtp_settings = {
    address: "smtp.gmail.com",
    port: 587,
    domain: "127.0.0.1",
    authentication: "login",
    enable_starttls_auto: true,
    user_name: "emailaddress@gmail.com",
    password: "mypassword"
  }
4

1 に答える 1

1

パスワードを保護したいのは当然です。

古いバージョンの Rails (4.0 以下) を使用している場合は、ここにある Figaro gem を使用できます...

https://github.com/laserlemon/figaro

(デフォルトでは) リポジトリにアップロードされない「config/application.yml」ファイルがあります。あなたはそれに含めるでしょう...

email_user_name: "emailaddress@gmail.com"
email_password: "mypassword"

そして、あなたの環境で使用する...

config.action_mailer.smtp_settings = {
    address: "smtp.gmail.com",
    port: 587,
    domain: "127.0.0.1",
    authentication: "login",
    enable_starttls_auto: true,
    user_name: ENV["email_user_name"],
    password: ENV["email_password"]
  }

...そして、それはすべて素晴らしく機能します。本番環境では、環境変数を機密情報に設定します。

Rails 4.1 は、secrets.yml同様に機能する を提供します...

development:
  email_user_name: emailaddres@gmail.com
  email_password: mypassword

...そして使用中に、値を取得するには...

config.action_mailer.smtp_settings = {
    address: "smtp.gmail.com",
    port: 587,
    domain: "127.0.0.1",
    authentication: "login",
    enable_starttls_auto: true,
    user_name: Rails.application.secrets.email_user_name,
    password: Rails.application.secrets.email_password
  }
于 2014-07-18T13:44:24.557 に答える