首頁 >後端開發 >php教程 >使用 PHPMailer 透過 Gmail 的 SMTP 伺服器傳送電子郵件時,為什麼會收到「需要 SMTP AUTH」錯誤?

使用 PHPMailer 透過 Gmail 的 SMTP 伺服器傳送電子郵件時,為什麼會收到「需要 SMTP AUTH」錯誤?

Patricia Arquette
Patricia Arquette原創
2024-12-31 20:39:09280瀏覽

Why Am I Getting the

無法透過PHPMailer 使用Gmail SMTP 伺服器發送電子郵件:「在連接埠587 上提交郵件需要SMTP AUTH」

在願望中通過PHP Mailer 與Gmail 的SMTP(簡單郵件傳輸協定)伺服器傳輸電子郵件時,可能會遇到錯誤訊息「SMTP在連接埠587 上提交訊息需要 AUTH。

要解決此問題,請考慮合併以下程式碼修改:

$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPDebug = 1;
$mail->SMTPAuth = true;
$mail->SMTPSecure = 'ssl';
$mail->Host = "smtp.gmail.com";
$mail->Port = 465;
$mail->IsHTML(true);
$mail->Username = "[email protected]";
$mail->Password = "password";
$mail->SetFrom("[email protected]");
$mail->Subject = "Test";
$mail->Body = "hello";
$mail->AddAddress("[email protected]");

if (!$mail->Send()) {
    echo "Mailer Error: " . $mail->ErrorInfo;
} else {
    echo "Message has been sent";
}

特別要注意這些關鍵調整:

  • 使用$mail->SMTPSecure = 'ssl';以增強連線安全性。
  • 停用指定電子郵件帳號的兩步驟驗證。
  • 按照此處提供的說明允許安全性較低的應用程式存取您的 Google 帳戶:https://myaccount。 google.com/lesssecureapps

或者,您可以選擇修改$mail->SMTP 設定至:

$mail->SMTPSecure = 'tls';

請記住,某些SMTP 伺服器可能會阻礙連線或缺乏SSL/TLS 支援。建議與伺服器管理員驗證以確認相容性。

完成這些調整後,預計可以使用 PHP Mailer 透過 Gmail 的 SMTP 伺服器進行無縫電子郵件傳輸。

以上是使用 PHPMailer 透過 Gmail 的 SMTP 伺服器傳送電子郵件時,為什麼會收到「需要 SMTP AUTH」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn