簡體   English   中英

action_mailer配置在其自己的文件中

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM