2010-10-16 110 views
36

我在一個簡單的腳本使用的PHPMailer對於發送EMAIL的通過Gmail和我得到「未知錯誤」(至少對我來說!):「SMTP錯誤:無法驗證」在PHPMailer的

SMTP Error: Could not authenticate. Error: SMTP Error: Could not authenticate.

SMTP server error: 5.7.1 Username and Password not accepted. Learn more at 535 5.7.1 http://mail.google.com/support/bin/answer.py?answer=14257 p38sm2467302ybk.16

我讀過關於配置OpenSSL SSL/TLS連接,我做到了。 Apache和PHP已正確配置(使用OpenSSL擴展運行在PHP中,mod_ssl運行在Apache 2.2.16中)。

這是PHP腳本:

<?php 
    require_once ("PHPMailer\class.phpmailer.php"); 
    $Correo = new PHPMailer(); 
    $Correo->IsSMTP(); 
    $Correo->SMTPAuth = true; 
    $Correo->SMTPSecure = "tls"; 
    $Correo->Host = "smtp.gmail.com"; 
    $Correo->Port = 587; 
    $Correo->UserName = "[email protected]"; 
    $Correo->Password = "gmailpassword"; 
    $Correo->SetFrom('[email protected]','De Yo'); 
    $Correo->FromName = "From"; 
    $Correo->AddAddress("[email protected]"); 
    $Correo->Subject = "Prueba con PHPMailer"; 
    $Correo->Body = "<H3>Bienvenido! Esto Funciona!</H3>"; 
    $Correo->IsHTML (true); 
    if (!$Correo->Send()) 
    { 
    echo "Error: $Correo->ErrorInfo"; 
    } 
    else 
    { 
    echo "Message Sent!"; 
    } 
?> 

用戶名和密碼都OK,我試圖在Thunderbird中,沒有任何問題。 我也使用SSL身份驗證和端口465,得到相同的錯誤。

+0

這很奇怪,因爲錯誤很明顯地指向了用戶名/密碼錯誤而不是協議問題。您的密碼中不會有特殊字符可能會錯誤地傳送? – 2010-10-16 17:18:43

回答

17

試試這個:

$ Correo->用戶名 = 「[email protected]」;

我測試了它和它沒有任何其他變化

+0

@Astantler您可以使用左側的複選標記符號將他的答案標記爲已接受。 – 2010-10-16 17:24:04

3

完美的工作,我收到因爲在密碼百分號此錯誤。

7

我收到了同樣的錯誤,在mycase中是密碼。我的密碼有特殊字符,如果您提供密碼而不逃避特殊字符,錯誤將繼續顯示。 E.g $mail->Password = " por$ch3";有效,但無法使用上面的代碼。解決方案應如下所示:$mail->Password = "por\$ch3";請注意我在密碼中的美元字符之前放置的反斜槓。如果您在使用密碼的特殊字符

+0

您可以使用單引號。只有單引號本身才能逃脫。 – 2015-09-11 14:15:50

17

this is GMail issue

這應該工作閱讀谷歌幫助(https://support.google.com/mail/answer/14257?p=client_login&rd=1

  1. 打開網絡瀏覽器,並在http://mail.google.com/mail登入Gmail。如果您看到字驗證請求,請輸入扭曲圖片中的字母並完成登錄。
  2. 關閉瀏覽器並嘗試再次訪問您的電子郵件客戶端中的郵件。
  3. 如果您仍然遇到問題,請訪問http://www.google.com/accounts/DisplayUnlockCaptcha並使用您的Gmail用戶名和密碼登錄。如有必要,請在扭曲的圖片中輸入字母。
  4. 單擊繼續。
  5. 重新啓動您的郵件客戶端,並嘗試再次訪問您的電子郵件客戶端中的郵件。

SMTP Error: Could not authenticate

Gmail issue

+0

可能會要求您等待幾分鐘,對我而言無法立即工作......繼續打兩次。 – enko 2014-04-14 22:10:54

4

對我來說,我在我的密碼字段中的特殊字符,我把它像$ MAIL->密碼= 「$ POR CH3」 這工作的Gmail SMTP伺服器但不適用於其他;所以我只是將雙引號改爲單引號,它對我有用。 $ mail-> Password ='por $ ch3';

+0

我希望你仍然沒有使用這個密碼,因爲1.你剛剛將它提供給Internet 2.它一點都不安全。 https://dl.dropboxusercontent.com/u/209/zxcvbn/test/index.html – 2014-10-02 09:25:55

+0

以獲得更多說明,這僅僅是一個示例 – 2014-10-10 11:33:21

2

如果您仍然在發送電子郵件時遇到錯誤,並顯示相同的錯誤消息。調用send()函數之前

$send = $mail->Send(); 

或其他意義上說,:試試這個:

$mail->SMTPSecure = 'tls'; 
$mail->Host = 'smtp.gmail.com'; 

只是前行。

測試和工作。

0

我有與認證相同的問題。解決方法是設置兩步驗證併爲設備創建應用程序專用密碼(如果問題與我的問題相同,則阻止設備的錯誤消息將顯示在您的帳戶設置 - >「通知和警報」中)

41

我遇到了這個問題。爲了使它工作,我必須去myaccount.google.com - >「登錄&安全」 - >「具有帳戶訪問權限的應用程序」,並將「允許不太安全的應用程序」設置爲「開啓」(接近頁面底部)。

enter image description here

+2

對於遲到的回覆,我感到抱歉。對於那些您無法看到允許不太安全的應用程序對話框。 1.轉到您的帳戶 2.關聯的應用和網站(登錄和安全選項卡) 3.您應該在「關聯的應用和網站」下看到三個標籤。但是,如果您只看到「應用連接到您的帳戶」和「保存的密碼」。 4.在邊欄上單擊「登錄到Google」 - 關閉您的兩步驗證。 5.現在您將看到允許安全性較低的應用程序。打開時打開。 – Beekeeper 2016-09-20 07:29:33

+0

我還沒有看到允許不太安全的應用程序部分,但應用程序密碼。 更多信息https://support.google.com/accounts/answer/185833?hl=zh-CN – guido 2017-06-16 14:48:37

+0

非常感謝。這工作在我的情況。 – 2017-08-30 10:27:33

0

這是SELinux的問題。我只更新了/ etc/selinux/config文件中的下面給出的部分 SELINUX=permissive(這是SELINUX =之前執行的)。 然後只需重新啓動系統 重新啓動 現在郵件沒有任何麻煩。 配置

From Email Address : [[email protected]] 
From Name : [your domain name] 
SMTP Host : smtp.gmail.com 
Type of Encryption : SSL 
SMTP Port : 465 
SMTP Authentication : YES 
Username : [your mail id] 
Password : [your password] 
2

我有同樣的問題,做所有的提示包括Gmail設置(例如安全性較低的應用程序訪問),沒有運氣。但最後,當我將密碼更改爲不同的東西時,出於某種原因它可以正常工作僅供參考,初始密碼沒有任何特殊字符。

2

[已解決]。在Wordpress中配置WP-Mail-SMTP插件時,我遇到了同樣的錯誤。

即使我對設置和登錄憑證進行了「三重檢查」,並且能夠使用瀏覽器手動登錄,問題仍然存在。

有一系列步驟可以解決這個問題。

  1. 創建了Gmail的新帳戶密碼要使用
  2. Google Security settings
  3. 使用Display Unlock Captcha page啓用安全性較低的應用程序,讓您的應用程序或網站的權限登錄到Gmail。點擊Continue或按照說明操作。
  4. 使用該應用或網站登錄。我的smtp設置爲1)SMTP主機:smtp.gmail.com 2)SMTP端口:587 3)加密:TLS 4)認證:SMTP認證5)用戶名:[email protected] 6)密碼:examplesecret
+0

您無需在Gmail中啓用轉發,POP或IMAP即可使其發揮作用。 – Red 2017-07-20 08:29:21

0

SMTP錯誤:無法驗證 我有同樣的問題。以下故障排除步驟對我有幫助。

  • 我關閉了我的Gmail帳戶中的雙因素身份驗證。
  • 我允許安全性較低的應用訪問我的Gmail帳戶。爲了讓它工作,我必須去myaccount.google.com - >Sign-in & security - >Apps with account access,並將Allow less secure apps轉爲ON(靠近頁面底部)。
  • 在這一步,當我試圖註冊一個用戶時,我會得到相同的錯誤。 Google會向我發送一條警告消息,表明有人擁有我的密碼並且登錄被阻止。
  • Gmail會爲您提供選項。你要麼點擊活動是你的還是不是你的活動。點擊該活動是您的選項。
  • 請再試一次註冊。它現在應該工作。