phpmailer設定 - PHPMailer中的“SMTP錯誤:無法進行身份驗證”




phpmailer教學 (10)

我在一個簡單的腳本中使用PHPMailer通過Gmail發送電子郵件,我得到一個“未知錯誤”(至少對我而言!):

SMTP錯誤:無法進行身份驗證。 錯誤:SMTP錯誤:無法進行身份驗證。

SMTP服務器錯誤:5.7.1不接受用戶名和密碼。 要了解詳情,請訪問535 5.7.1 http://mail.google.com/support/bin/answer.py?answer=14257 p38sm2467302ybk.16

我讀過有關配置OpenSSL For SSL / TLS Connections的內容,我做到了。 Apache和PHP已正確配置(使用在PHP中運行的OpenSSL擴展和在Apache 2.2.16中運行的mod_ssl)。

這是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!";
  }
?>

用戶名和密碼都沒問題,我試過Thunderbird,沒有任何問題。 我還使用了SSL身份驗證和端口465,獲得了相同的錯誤。


這是GMail問題

閱讀此Google幫助( 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. 重新啟動郵件客戶端並嘗試再次訪問電子郵件客戶端中的郵件。


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

即使我已經“三次檢查”設置和登錄憑據,並且能夠使用瀏覽器手動登錄,問題仍然存在。

您可以採取一系列步驟來解決此問題。

  1. 為您要使用的Gmail帳戶創建新密碼
  2. Google Security設置中啟用安全性較低的應用
  3. 使用“ http://www.google.com/accounts/DisplayUnlockCaptcha為您的應用或網站授予登錄Gmail的權限。 單擊Continue或按照說明操作。
  4. 使用應用程序或網站登錄。 適用於我的smtp設置是1)SMTP主機:smtp.gmail.com 2)SMTP端口:587 3)加密:TLS 4)身份驗證:SMTP身份驗證5)用戶名:[email protected] 6)密碼:examplesecret

另一篇文章解決問題是正確的,但如果啟用了兩步驗證,則無法解決如何執行此操作的問題。 然後,不提供允許安全性較低的應用程序的選項。 以下是如何做到的答案:

a. Go to the URL of `https://myaccount.google.com/` and click `Sing-in and security`

b. Click on the app password. 

You will reach a page like this,

c. Create name of your app and generate a password for the respective app.  

d. Use that password acquired here inside the app.

這應該可以解決問題。


如果您在發送電子郵件時仍然遇到錯誤,請使用相同的錯誤消息。 嘗試這個:

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

就行前:

$send = $mail->Send();

或者在其他意義上,在調用Send()函數之前。

經過測試和工作。


您的代碼沒有問題。

按照以下兩個簡單步驟從phpmailer發送電子郵件。

  • 如果您已啟用,則必須停用Google帳戶的兩步驗證設置。

  • 開啟允許訪問不太安全的應用程序。


我在身份驗證時遇到了同樣的問題。 修復是設置兩步驗證並為設備創建應用程序專用密碼(阻止設備的錯誤消息將顯示在您的帳戶設置 - >“通知和警報”,如果您的問題與我的相同)


我收到此錯誤是因為密碼中有百分號。


我遇到了同樣的問題並完成了所有提示,包括Gmail設置(例如安全性較低的應用訪問),沒有運氣。 但最後當我將密碼更改為不同的東西時,出於某種原因它才起作用! 僅供參考,初始密碼沒有任何特殊字符。


試試這個:

$ Correo-> Username =“[email protected]”;

我測試了它,它的工作完美,沒有其他變化


這是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]




phpmailer