2012-10-15 60 views
2

從生產環境中發出郵件時,我得到一個錯誤,特別是:Rails的郵件的Net :: SMTPAuthenticationError(530-5.5.1需要身份驗證)與Gmail使用ENV [用戶名]和ENV [密碼]

Net::SMTPAuthenticationError (530-5.5.1 Authentication Required) 

在我的本地機器和發展環境我使用ENV[GMAIL_USERNAME]ENV[GMAIL_PASSWORD]聲明密碼,它的正常工作,在那裏宣佈ENV存儲在我的.bash_profile

# Development Environment for Action Mailer config 
    config.action_mailer.default_url_options = { host: '0.0.0.0:3000' } 
    config.action_mailer.perform_deliveries = true 
    config.action_mailer.default charset: 'utf-8' 
    config.action_mailer.delivery_method = :smtp 
    config.action_mailer.smtp_settings = { 
    address: 'smtp.gmail.com', 
    port: 587, 
    domain: 'mydomain.com', 
    authentication: "plain", 
    enable_starttls_auto: true, 
    user_name: ENV["GMAIL_USERNAME"], 
    password: ENV["GMAIL_PASSWORD"] 
    } 

    # Production Environment for Action Mailer config 
    config.action_mailer.default_url_options = { host: 'mydomain.com' } 
    config.action_mailer.perform_deliveries = true 
    config.action_mailer.raise_delivery_errors = false 
    config.action_mailer.default charset: 'utf-8' 
    config.action_mailer.delivery_method = :smtp 
    config.action_mailer.smtp_settings = { 
    address: "smtp.gmail.com", 
    port: 587, 
    domain: "mydomain.com", 
    authentication: "plain", 
    enable_starttls_auto: true, 
    user_name: ENV["GMAIL_USERNAME"], 
    password: ENV["GMAIL_PASSWORD"] 
    } 

不幸的是,在生產我得到一個埃羅r發送郵件時。但是,如果我在environments/production.rb中對用戶名和密碼進行了硬編碼,它就可以工作。該ENV["GMAIL_USERNAME"]和`ENV [「GMAIL_PASSWORD」]被設置在.bash_profile文件:

export GMAIL_USERNAME="[email protected]" 
export GMAIL_PASSWORD="mypassword" 

我認爲這將是應用程序無法調用ENV["GMAIL_USERNAME"]ENV["GMAIL_PASSWORD"]但是當我跳進鐵軌生產控制檯和puts ENV["GMAIL_USERNAME"]它輸出正確的憑證。

我重新啓動了Apache並重新啓動了我的應用程序多次,但我很困惑接下來要做什麼。

任何幫助,非常感謝。

謝謝您的高級。

回答

3

誰的bash配置文件?你的用戶? Apache不會在啓動時讀取這些配置文件,因爲它不會運行bash來啓動服務器。當您登錄到服務器時,您的配置文件會被找到。這就是測試時它工作的原因。

您需要確保環境變量在腳本或Apache運行環境中定義。根據您的服務器,這可能在/ etc/apache2/envvars中,或者添加到apache的啓動腳本中。

+0

保佑你的心。它實際上只是點擊了Apache不會讀ENV集。 –

相關問題