2012-07-11 65 views
1

,當我試圖通過sendgrid在Heroku上雪松堆棧發送一封電子郵件, 我得到了一個以下錯誤:錯誤SendGrid在Heroku上雪松堆棧

ArgumentError (SMTP-AUTH requested but missing user name): 

我在/environments/staging.rb設置爲:

config.action_mailer.delivery_method = :smtp 
    config.action_mailer.raise_delivery_errors = true 
    config.action_mailer.default_url_options = { :host => 'myapp' } 

    ActionMailer::Base.smtp_settings = { 
    :address  => "smtp.sendgrid.net", 
    :port   => "587", 
    :authentication => :plain, 
    :user_name  => ENV['SENDGRID_USERNAME'], 
    :password  => ENV['SENDGRID_PASSWORD'], 
    :domain   => 'heroku.com' 
    } 

我Sendgrid密碼/用戶名從Heroku的根據this page

沒有人有任何建議得到?

+0

你有沒有設置RAILS_ENV和RACK_ENV是「分期」通過' heroku'cli? – 2012-07-11 07:34:40

+0

確認你已經通過'heroku config'設置了你的SendGrid證書。 – 2012-07-11 11:03:33

+0

是的,我將RAILS_ENV和RACK_ENV設置爲'暫存'。但我無法發送郵件.. – jwako 2012-07-12 10:21:47

回答

2

嘗試將您的配置從config/enviornments/staging.rb移動到config/initializers/smtp.rb。不管你知道的ActionMailer這樣配置您所處環境的

你應該保持交付的具體設置在您的環境文件:

config.action_mailer.delivery_method = :smtp 
config.action_mailer.perform_deliveries = true 
+1

非常感謝您的解釋,斯威夫特! – jwako 2012-11-07 04:49:05

+0

沒問題,樂意幫忙!如果您需要更多的SendGrid幫助,請隨時登錄我們的支持團隊。 – Swift 2012-11-07 17:44:59

相關問題