[英]action_mailer config in its own file
我不想將我們的gmail帳戶的帳戶和密碼放入生產應用程序配置文件中。
而是我想進行設置,以便此信息位於單獨的yml文件中,該文件不會存儲在我們的git存儲庫中。 我們使用其他需要保護的數據來執行此操作,但是我看不到使用action_mailer進行處理的直接方法。
換句話說,我希望action_mailer從action_mailer_config.yml之類的內容而不是環境/production.rb配置文件中讀取其配置信息。
最近在railscasts上滿足了此要求。 http://railscasts.com/episodes/85-yaml-configuration-revised
確保檢查注釋中是否有其他寶石。
只需創建一個分配一個環境變量的初始化文件。 因此,在您的生產環境中,您將擁有:
config.action_mailer.smtp_settings = {
address: "smtp.gmail.com",
port: 587,
domain: "chicheng.com.tw",
authentication: "plain",
enable_starttls_auto: true,
user_name: ENV["GMAIL_USERNAME"],
password: ENV["GMAIL_PASSWORD"],
:openssl_verify_mode => 'none'
}
然后添加一個初始化程序文件,該文件文件分配用戶名和密碼,如下所示:
ENV["GMAIL_USERNAME"] = "your_username@gmail.com"
ENV["GMAIL_PASSWORD"] = "your_password"
要記住的一件事是將這個初始化文件添加到gitignore中。 然后,您需要手動確保在向上推送該文件時將其包括在內。
老實說,而不是使用單獨的文件,我更喜歡直接在服務器上設置ENV。 這樣,我不必擔心文件被意外推送。
這是一個比較老的問題,所以您可能已經有了答案,但是我使用Heroku進行了部署,並且它們允許您從cli中設置配置變量(例如ENV)。 值得檢查您的提供商是否允許類似的實現。 它使事情變得容易得多。 這是一篇帶有更好解釋的文章。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.