2016-09-24 106 views
0

我試圖使用sendgrid在用戶註冊後向用戶發送確認電子郵件。在我嘗試配置發送網格之前,一切正常,但現在只要用戶嘗試註冊,我就會收到heroku錯誤消息來檢查日誌。我不知道做日誌的什麼,因爲每一件事情僅僅是一個致命的錯誤:Rails應用程序不與heroku一起工作

2016-09-24T02:33:00.151277+00:00 app[web.1]: F, [2016-09-24T02:33:00.151247 #3] FATAL -- : [e27b857c-d6d7-4e1d-a859-0abf408efa52] vendor/bundle/ruby/2.2.0/gems/actionmailer- 5.0.0.1/lib/action_mailer/message_delivery.rb:96:in `block in deliver_now' 
2016-09-24T02:33:00.151307+00:00 app[web.1]: F, [2016-09-24T02:33:00.151277 #3]  FATAL -- : [e27b857c-d6d7-4e1d-a859-0abf408efa52] vendor/bundle/ruby/2.2.0/gems/actionmailer- 5.0.0.1/lib/action_mailer/rescuable.rb:15:in `handle_exceptions' 
2016-09-24T02:33:00.151373+00:00 app[web.1]: F, [2016-09-24T02:33:00.151307 #3] FATAL -- : [e27b857c-d6d7-4e1d-a859-0abf408efa52] vendor/bundle/ruby/2.2.0/gems/actionmailer-5.0.0.1/lib/action_mailer/message_delivery.rb:95:in `deliver_now' 
2016-09-24T02:33:00.151406+00:00 app[web.1]: F, [2016-09-24T02:33:00.151374 #3] FATAL -- : [e27b857c-d6d7-4e1d-a859-0abf408efa52] vendor/bundle/ruby/2.2.0/gems/devise-4.2.0/lib/devise/models/authenticatable.rb:191:in `send_devise_notification' 

編輯:在日誌讓我們回到我發現這些

2016-09- 24T05:30:26.437967+00:00 app[web.1]: 
2016-09-24T05:30:26.438280+00:00 app[web.1]: I, [2016-09-24T05:30:26.438213 #3] INFO -- : [7bde114c-61f1-45c8-9660-f4ce4dc1e7c1] Completed 500 Internal Server Error in 61ms (ActiveRecord: 6.2ms) 
2016-09-24T05:30:26.440494+00:00 app[web.1]: F, [2016-09-24T05:30:26.440427 #3] FATAL -- : [7bde114c-61f1-45c8-9660-f4ce4dc1e7c1] 
2016-09-24T05:30:26.440562+00:00 app[web.1]: F, [2016-09-24T05:30:26.440501 #3] FATAL -- : [7bde114c-61f1-45c8-9660-f4ce4dc1e7c1] Errno::ECONNREFUSED (Connection refused - connect(2) for "localhost" port 25): 

這些都是隻是前幾個。我覺得他們沒有足夠的想法來解決問題。

的鏈接庫是否有幫助在所有: https://github.com/hbrodsk1/facebook

任何指導,將是真棒,因爲我確實被卡死在這一點上。

+0

你沒有顯示實際的錯誤... – pixelearth

回答

0

您是否通過「heroku config:set」在rails控制檯中設置了SENDGRID USERNAME和PASSWORD?並且在你的.bashrc文件中包含你的SENDGRID USERNAME和PASSWORD(如果你在c9上)。也許你可能想分享一下你爲sendgrid設置了哪些程序?

+0

我試過這個,但不幸的是它沒有工作 –

+0

你能詳細說明你已採取的步驟,直到這一點導致了Heroku的錯誤? – angkiki

+0

是的,我在當天早些時候部署了它,它功能完善,但添加了sendgrid gem後,我嘗試配置我的郵件程序,然後再次部署,導致出錯。我將在編輯中發佈我的配置文件。 –

0

你必須在你的rails應用程序的heroku config或production.rb文件中設置sendgrid用戶名和密碼。

0

看起來您尚未將生產環境配置爲使用Sendgrid作爲郵件程序。 將這添加到config/environments文件夾中的production.rb應該是第一步。只要你在代碼的某個地方定義了SENDGRID_USERNAMESENDGRID_PASSWORD

config.action_mailer.smtp_settings = { :address => 'smtp.sendgrid.net', :port => '587', :authentication => :plain, :user_name => ENV['SENDGRID_USERNAME'], :password => ENV['SENDGRID_PASSWORD'], :domain => 'heroku.com', :enable_starttls_auto => true }

這個錯誤就要到了,因爲設計試圖處理郵件事件,但無法找到如何處理爲生產環境中的郵件中的指示。您已經在本地/開發環境中定義了這一點,這就是它在本地工作的原因。這至少應該指向正確的方向。

檢查了這一點作爲一種資源太:https://sendgrid.com/docs/Integrate/Frameworks/rubyonrails.html#-Configure-ActionMailer-to-Use-SendGrid

0

事實證明,我有我的發送網格環境中的用戶名從我的控制檯重置和它的工作。謝謝你的迴應和幫助。

相關問題