首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHPMailer 透過 Gmail SMTP 發送郵件進階範例(含附件)

     編輯:PHP 綜合知識

Gmail 需啟用「兩步驟驗證」並產生「應用程式密碼」,並支援 SSL (465) 與 TLS (587) 兩種模式。

<?php
require_once '../class.phpmailer.php';

$mail = new PHPMailer();
$mail->CharSet = 'utf-8';

$mail->isSMTP();
$mail->Host       = 'smtp.gmail.com';
$mail->SMTPAuth   = true;
$mail->Username   = 'your_account@gmail.com';
$mail->Password   = 'your_app_password';     // 應用程式密碼
$mail->SMTPSecure = 'ssl';                   // 或 'tls'
$mail->Port       = 465;                     // SSL=465, TLS=587
$mail->SMTPDebug  = 2;                       // 除錯輸出

$mail->setFrom('your_account@gmail.com', 'First Last');
$mail->addReplyTo('your_account@gmail.com', 'First Last');
$mail->addAddress('recipient@example.com', 'John Doe');

$mail->isHTML(true);
$mail->Subject = 'PHPMailer Gmail SMTP Test';
$mail->Body    = file_get_contents('contents.html'); // 讀取外部 HTML 模板
$mail->AltBody = '請使用 HTML 郵件用戶端檢視。';

// 加入附件
$mail->addAttachment('images/phpmailer.gif');
$mail->addAttachment('images/phpmailer_mini.gif');

if (!$mail->send()) {
    echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
    echo 'Message sent!';
}
?>

Gmail 專屬設定重點

  • 必須開啟兩步驟驗證 → 產生應用程式密碼(16 位元字串)。
  • 若使用 TLS (587),需設定 SMTPSecure = 'tls' 並確認伺服器支援 STARTTLS。
  • SMTPDebug = 2 可輸出詳細 SMTP 交互過程,除錯時極有幫助。
  • 附件路徑為相對/絕對檔案路徑,非 URL。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved