2017-07-27 53 views
0

發送電子郵件的設置,我被卡住,無法找到任何在線幫助:的Rails 5應用程序中的Heroku不會gmal

我試圖發送用戶註冊郵件,我有工作在相同的配置上發展,但我不能找到一種方法,使其在Heroku的工作

config.action_mailer.default_url_options = { host: 'www.hiddendomain.com' } 
    config.action_mailer.raise_delivery_errors = true 
    config.action_mailer.delivery_method = :smtp 

    config.action_mailer.smtp_settings = { 
    :address => "smtp.gmail.com", 
    :port => 587, 
    :authentication => :plain, 
    :domain => ENV['GMAIL_SMTP_USERNAME'], 
    :user_name => ENV['GMAIL_SMTP_USERNAME'], 
    :password => ENV['GMAIL_SMTP_PASSWORD'], 
    } 

    config.action_mailer.perform_deliveries = true 

錯誤:

2017-07-27T07:41:45.175561+00:00 app[web.1]: I, [2017-07-27T07:41:45.175497 #4] INFO -- : [a6ec5129-53a4-420a-b319-9cc6d61cff16] Completed 500 Internal Server Error in 544ms (ActiveRecord: 9.0ms) 

2017-07-27T07:41:45.175719+00:00 app[web.1]: F, [2017-07-27T07:41:45.175664 #4] FATAL -- : [a6ec5129-53a4-420a-b319-9cc6d61cff16] 

2017-07-27T07:41:45.175791+00:00 app[web.1]: F, [2017-07-27T07:41:45.175729 #4] FATAL -- : [a6ec5129-53a4-420a-b319-9cc6d61cff16] EOFError (end of file reached): 

2017-07-27T07:41:45.175853+00:00 app[web.1]: F, [2017-07-27T07:41:45.175794 #4] FATAL -- : [a6ec5129-53a4-420a-b319-9cc6d61cff16] 

2017-07-27T07:41:45.175923+00:00 app[web.1]: F, [2017-07-27T07:41:45.175866 #4] FATAL -- : [a6ec5129-53a4-420a-b319-9cc6d61cff16] 

從開發環境的唯一區別是主機行:

config.action_mailer.default_url_options = { host: 'localhost', port: 3000 } 

回答

1

問題可能在於,gmail通過第三方應用程序發送電子郵件有嚴格的選擇。您需要爲您的Gmail帳戶啓用此選項。

確保在安全性較低的應用程序的Access下選擇啓用。

+0

我有這個開啓,必須有別的東西錯這個...... – OhDeer

0

某些應用程序和設備使用安全性較低的登錄技術,打開允許安全性較低的應用程序。 請到我的帳戶中的Gmail:https://myaccount.google.com/lesssecureapps和導通允許不夠安全的應用過濾器

+0

我有這個打開,關於這一點肯定還有其他的錯誤... – OhDeer

+0

你可以在這裏完全粘貼郵件代碼嗎?是否有可能結束塊丟失? – Sanjiv

0

在你的配置是線

:domain => ENV['GMAIL_SMTP_USERNAME'] 

這是錯誤的,因爲你有在外地的用戶名的一些環境變量。域名應該是「gmail.com」,因爲你用從gmail.com Gmail的郵件服務:

config.action_mailer.smtp_settings = { 
    :address => "smtp.gmail.com", 
    :port => 587, 
    :authentication => :plain, 
    :domain => "gmail.com", 
    :user_name => ENV['GMAIL_SMTP_USERNAME'], 
    :password => ENV['GMAIL_SMTP_PASSWORD'], 
}