首頁 >後端開發 >php教程 >為什麼我的 PHP 電子郵件發送到 Gmail 時身份驗證失敗,如何修復?

為什麼我的 PHP 電子郵件發送到 Gmail 時身份驗證失敗,如何修復?

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-01-04 10:51:33251瀏覽

Why is my PHP email sending to Gmail failing authentication, and how can I fix it?

修復從PHP 透過GMail SMTP 伺服器發送電子郵件時的驗證失敗

嘗試使用以下方式發送電子郵件時,您可能會遇到以下驗證錯誤您的PHP 腳本:

authentication failure [SMTP: SMTP server does no support authentication (code: 250, response: mx.google.com at your service, [98.117.99.235] SIZE 35651584 8BITMIME STARTTLS ENHANCEDSTATUSCODES PIPELINING)]

當指定的SMTP配置不正確或不完整時,通常會發生此錯誤。若要解決此問題,請驗證您的設定並將其調整為以下內容:

require_once "Mail.php";

$from = "Sandra Sender <[email&#160;protected]>";
$to = "Ramona Recipient <[email&#160;protected]>";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";

$host = "ssl://smtp.gmail.com";
$port = "465";
$username = "[email&#160;protected]";
$password = "testtest";

$headers = array ('From' => $from,
  'To' => $to,
  'Subject' => $subject);
$smtp = Mail::factory('smtp',
  array ('host' => $host,
    'port' => $port,
    'auth' => true,
    'username' => $username,
    'password' => $password));

$mail = $smtp->send($to, $headers, $body);

if (PEAR::isError($mail)) {
  echo("<p>" . $mail->getMessage() . "</p>");
 } else {
  echo("<p>Message successfully sent!</p>");
 }

透過在主機設定中指定 ssl://,您可以建立與 GMail SMTP 伺服器的安全 SSL 連線。此外,您必須指定正確的 SSL 端口,即 465。

確保您的使用者名稱和密碼正確。這些應該是您的 GMail 憑證。

調整設定後,您的 PHP 腳本應該能夠透過 GMail SMTP 伺服器傳送電子郵件,而不會遇到驗證失敗錯誤。

以上是為什麼我的 PHP 電子郵件發送到 Gmail 時身份驗證失敗,如何修復?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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