首頁 > 後端開發 > php教程 > 為什麼我透過 Gmail 的 SMTP 伺服器發送 PHP 電子郵件失敗,如何使用 Pear Mail 庫修復它?

為什麼我透過 Gmail 的 SMTP 伺服器發送 PHP 電子郵件失敗,如何使用 Pear Mail 庫修復它?

Mary-Kate Olsen
發布: 2024-12-21 09:51:10
原創
858 人瀏覽過

Why is my PHP email sent via Gmail's SMTP server failing, and how can I fix it using the Pear Mail library?

從PHP 使用GMail 的SMTP 伺服器發送電子郵件

問題:

問題:嘗試使用以下方式發送方式電子郵件時從PHP頁面GMail的SMTP伺服器發生錯誤,提示驗證失敗SMTP。

解決方案:
  1. 提供的程式碼利用了Pear Mail Library,需要對GMail 的SMTP 進行調整:
  2. 將協定設為SSL:
  3. 修改主機行以在前麵包含'ssl://' 'smtp.gmail.com'。
  4. 使用連接埠 465 進行 SSL:
  5. 將連接埠號碼變更為「465」。

確保正確的使用者名稱和密碼: 使用完整的電子郵件地址作為使用者名稱和關聯的

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伺服器成功發送電子郵件。

以上是為什麼我透過 Gmail 的 SMTP 伺服器發送 PHP 電子郵件失敗,如何使用 Pear Mail 庫修復它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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