2016-05-05 3 views
0

セキュリティ保護されていないデバイスのGmail属性をオンにしないでアクションメーラーを使用する方法はありますか?私は、私の電子メールアカウントを世界に公開したくないのは、私のRuby on Railsアプリケーションで安全でないオプションをオンにすることです。Ruby on Rails 3.2の使い方セキュアでないデバイス属性をオンにしないでGmailで動作するメーラー?

開発/プロダクションモードのアプリケーション環境にユーザー名とパスワードを直接割り当てずに、このような電子メールシステムのユーザー名とパスワードを入力する方法はありますか?

これはどのようにして完了しましたか、追加情報は必要ですか?

ベア心​​の中で私はRailsの3.2バージョンにルビーを使用していない4.0

答えて

0

あなたがこれを使用することができています:secret.ymlで

config.action_mailer.delivery_method = :smtp 
    config.action_mailer.smtp_settings = { 
    :authentication => :plain, 
    :address => "smtp.gamil.com", 
    :port => 587, 
    :domain => Rails.application.secrets.domain, 
    :user_name =>Rails.application.secrets.username, 
    :password => Rails.application.secrets.password 
    } 

書き込み:

development: 
    domain: <%= ENV Domain_you_want %>, 
    user_name: <%= ENV user_name_you_want %>, 
    password: <%= ENV password %> 
+0

'secret.yml'設定は[Rails 4.1で追加]されています(http://guides.rubyonrails.org/4_1_release_notes.html#config-secrets-yml)。これはRails 3.2では動作しません。 – BoraMa

0

標準をRailsを設定する際に機密情報を保護する方法は、シェル環境変数のを使用することです。与えられた環境設定ファイルでは、シェル環境変数にアクセスするためにENVハッシュを使用します。

# e.g. config/environment/production.rb 
config.action_mailer.smtp_settings = { 
    address: "smtp.gmail.com", 
    port: 587, 
    domain: "example.com", 
    authentication: "plain", 
    enable_starttls_auto: true, 
    user_name: ENV["GMAIL_USERNAME"], 
    password: ENV["GMAIL_PASSWORD"] 
} 

は、その後、あなたはENVを定義する必要があります。変数はどこかにある。これは、(あなたがbashの以外のシェルを使用する場合、ファイルは異なるものになります)あなたがRailsのを実行するユーザーの~/.bashrcファイルで行うことができます

# ~/.bashrc 
export GMAIL_USERNAME="[email protected]" 
# etc... 

次にコンソールに再度ログインとRailsを起動し、それを試してみてくださいシェル変数から正しい情報を取得する必要があります。詳細はthis guideをご覧ください。すべてのメール設定オプションについては、Rails guidesも参照してください。

関連する問題