首頁 > 後端開發 > php教程 > 為什麼我的 PHP 程式碼中會出現 Gmail SMTP 驗證失敗的情況?

為什麼我的 PHP 程式碼中會出現 Gmail SMTP 驗證失敗的情況?

Linda Hamilton
發布: 2024-12-31 19:09:09
原創
261 人瀏覽過

Why Am I Getting Gmail SMTP Authentication Failures in My PHP Code?

無法透過GMail SMTP 伺服器發送電子郵件:驗證失敗

嘗試從PHP 頁面透過GMail 的SMTP 伺服器發送電子郵件通常會導致身份驗證失敗錯誤,讓使用者感到沮喪。提供的 PHP 程式碼特別容易受到此問題的影響,因為它似乎缺乏必要的配置設定。

要解決此問題,正確的 PHP 配置至關重要。代碼應包含以下參數:

  • SSL 加密: Gmail SMTP 需要安全連接,因此「host」參數應設定為「ssl://smtp」。 gmail.com'。這將啟用 SSL 加密,確保安全的資料傳輸。
  • 連接埠配置: 'port' 參數應設定為 '465',因為它是 SMTP over SSL 的指定連接埠。
  • 更新了 PHP 郵件庫: 確保您使用的是最新版本的 PHP 郵件庫 (PEAR Mail),以受益於其增強的功能和錯誤修復。

這裡是更新的PHP 程式碼,透過合併這些基本設定解決了身份驗證失敗問題:

// Pear Mail Library
require_once "Mail.php";

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

$headers = array(
    'From' => $from,
    'To' => $to,
    'Subject' => $subject
);

$smtp = Mail::factory('smtp', array(
        'host' => 'ssl://smtp.gmail.com',
        'port' => '465',
        'auth' => true,
        'username' => '[email&#160;protected]',
        'password' => 'passwordxxx'
    ));

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

if (PEAR::isError($mail)) {
    echo('<p>' . $mail->getMessage() . '</p>');
} else {
    echo('<p>Message successfully sent!</p>');
}
?>
登入後複製

透過實作這些修改,您的PHP 腳本現在應該能夠通過GMail 的SMTP 伺服器會傳送電子郵件,而不會遇到驗證失敗。

以上是為什麼我的 PHP 程式碼中會出現 Gmail SMTP 驗證失敗的情況?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板