2011-05-28 34 views

回答

9

你可以另一個文件中保存的郵件憑證的config/email.credentials.yml:

host: ... 
username: ... 
password: ... 
... 

和你的environment.rb文件中只是(例如)加載它們:

YAML.load_file("#{Rails.root}/config/email.credentials.yml")['username'] 

那麼你會提憑據的.gitignore文件中的文件。

此外,如果您在多個服務器上部署應用程序,你可以檢查該文件中的初始化中存在,否則引發錯誤。因此,除非郵件配置文件存在,否則確保應用程序無法啓動。

0

我還發現了另一種方法,甚至可能會更容易:

配置/初始化/爲setup_mail.rb。在那裏把以下的Gmail應用程序(例如):

ActionMailer::Base.smtp_settings = { 
    :enable_starttls_auto => true, 
    :address => 'smtp.gmail.com', 
    :port => 587, 
    :domain => 'domain.name', 
    :authentication => :plain, 
    :user_name => '[email protected]', 
    :password => 'secret' 
} 

然後只需添加到.gitignore文件。這樣你只能編輯2個(而不是3個)文件。

+1

一定要提供一個'setup_mail.rb.example'文件和文件如何設置它和東西。這樣別人不會完全失去! – alternative 2011-05-30 13:16:49

0

這就是我使用:

instance_eval File.read "#{ Rails.root }/config/confidential.rb" 

和confidential.rb就像一個文件:

config.pass1 = '1234' 
config.pass2 = '54r235'