2011-08-05 19 views
13

當過一次我在Rails應用程序試圖發送通知我碰到下面的錯誤網:: SMTPAuthenticationError在軌3.1.0.rc5連接時的Gmail

Net::SMTPAuthenticationError (535-5.7.1 Username and Password not accepted. Learn more at     
): 
    app/models/friendship.rb:6:in `send_request' 
    app/controllers/friends_controller.rb:21:in `make_friendship' 

我development.rb郵件配置設置是

# Don't care if the mailer can't send 
    config.action_mailer.raise_delivery_errors = true 

    config.action_mailer.delivery_method = :smtp 
    # Gmail SMTP server setup 
    config.action_mailer.smtp_settings = { 
     :address => "smtp.gmail.com", 
     :enable_starttls_auto => true, 
     :port => 587, 
     :domain => '@example.com', 
     :authentication => :plain, 
     :user_name => '[email protected]', 
     :password => 'secret' 
    } 
+1

這對我來說是在開發中,但它在生產,任何想法方面都失敗了? – jpemberthy

回答

18

我有這個和它的作品對我來說:

ActionMailer::Base.smtp_settings = { 
    :address    => "smtp.gmail.com", 
    :port     => 587, 
    :user_name   => "[email protected]", 
    :password    => 'password', 
    :authentication  => "plain", 
    :enable_starttls_auto => true 
    } 
+0

試過了我現在得到這個錯誤信息'Net :: SMTPServerBusy(421服務器忙,連接太多 ' – Uchenna

+0

對不起,但是這還不足以給你更多的幫助,我會嘗試一個不同的SMTP服務器,看它是否只有gmail有問題,像Sendmail這樣的東西 – joseph

+0

感謝這對我有用 – jspooner

7

我有一個類似的配置是WOR ks很好,但有一段時間我得到這個錯誤,我懷疑這是因爲Google將帳戶標記爲可能濫用,出於某種原因,登錄過快等(每次發送郵件)。

您可以通過Web界面手動登錄並重新輸入CAPTCHA來重新開始工作。如果發生這種情況,我可能會考慮使用其他解決方案,比如使用自己的MTA,或者至少使用Rails和gmail之間的本地MTA,而不用重新登錄即可發送多個郵件。在這種情況下,您甚至可以自己發送郵件,而無需通過Gmail,只需確保設置正確的SPF記錄等。

4

您錯過了錯誤消息中的鏈接! :)

Net::SMTPAuthenticationError (535-5.7.1 Username and Password not accepted. Learn more at https://support.google.com/mail/bin/answer.py?hl=en&answer=14257 

因此詳見:https://support.google.com/mail/bin/answer.py?hl=en&answer=14257

  • 確保您輸入完整的電子郵件地址(例如[email protected]
  • 確保郵件客戶端的ISN」 t設定經常檢查新郵件。如果您的郵件客戶端每10分鐘檢查一次以上的新郵件,您的客戶端可能會重複請求您的用戶名和密碼。
4

我有同樣的問題:它從我的桌面(在開發環境中)工作,但它從生產環境(在瑞典的服務器...)失敗。 如果Google阻止了登錄嘗試,您必須登錄到您的gmail帳戶並查看電子郵件。

11

登錄到您使用的瀏覽器再訪問這個網頁的賬號:

http://www.google.com/accounts/DisplayUnlockCaptcha

這給你一個10分鐘的窗口,你想要讓訪問您的帳戶應用登錄。回到你的Rails應用程序,並讓它發送一封電子郵件,之後,一切都應該工作。

+0

Lifesaver!這正是我所需要的。 –

+0

我的問題是在開發中,必須在這裏爲發件人acct啓用此設置:https://www.google.com/settings/security/lesssecureapps – lfender6445

+0

我首先打開了此設置google.com/settings/security/lesssecureapps和然後http://www.google.com/accounts/DisplayUnlockCaptcha,之後,從我的應用程序發送電子郵件,但仍面臨此錯誤:( NET :: SMTPAuthenticationError(534-5.7.14 –