當前位置: 首頁> 最新文章列表> 如何使用PHP和PHPMAILER發送帶有圖片的HTML郵件?

如何使用PHP和PHPMAILER發送帶有圖片的HTML郵件?

M66 2025-05-30

使用PHPMailer發送圖文HTML郵件的完整步驟

電子郵件仍然是網絡通信中不可或缺的一部分,而圖文結合的HTML郵件越來越受歡迎。本文將為您講解如何借助PHPMailer庫,在PHP中發送帶有嵌入圖片的HTML郵件。

安裝PHPMailer庫

首先,確保項目中已經安裝了PHPMailer。你可以使用Composer進行安裝,只需在項目根目錄的composer.json中添加以下依賴項:

 
"require": {
    "phpmailer/phpmailer": "~6.0"
}

安裝完成後,PHPMailer將被自動加載,可以直接引用使用。

編寫發送圖文HTML郵件的PHP代碼

以下是一個完整的示例代碼,展示如何配置SMTP服務器、設置郵件內容以及嵌入圖片:

 
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require 'vendor/autoload.php';

$mail = new PHPMailer(true);

try {
    // 服務器設置與身份驗證
    $mail->SMTPDebug = 0; 
    $mail->isSMTP();
    $mail->Host = 'smtp.example.com';
    $mail->SMTPAuth = true;
    $mail->Username = 'your-email@example.com';
    $mail->Password = 'your-email-password';
    $mail->SMTPSecure = 'tls';
    $mail->Port = 587;

    // 發件人與收件人
    $mail->setFrom('your-email@example.com', 'Your Name');
    $mail->addAddress('recipient@example.com', 'Recipient Name');

    // 郵件內容
    $mail->isHTML(true);
    $mail->Subject = '這是一封帶有圖片的HTML郵件';
    $mail->Body = '
        <h1>Hello World!</h1>
        <p>這是一封帶有圖片的HTML郵件。<br>
        圖片示例:<br>
        <img src="cid:image1" alt="Image" style="max-width:90%">
        </p>';

    // 嵌入本地圖片
    $mail->AddEmbeddedImage('/path/to/image.jpg', 'image1');

    // 发送郵件
    $mail->send();
    echo '郵件发送成功!';
} catch (Exception $e) {
    echo '郵件发送失败:' . $mail->ErrorInfo;
}

代碼解析

上面的代碼演示了發送HTML格式郵件的流程:

  • SMTP配置部分設定了郵件服務器的地址、端口、認證信息等。
  • 通過isHTML(true)方法開啟HTML格式支持,使郵件正文支持HTML標籤。
  • 使用AddEmbeddedImage方法嵌入本地圖片,通過設置cid值在HTML中進行引用。
  • 在郵件正文中使用<img src="cid:image1">標籤來展示嵌入的圖片。

發送圖文郵件的注意事項

發送圖文郵件時,請注意以下幾點:

  • 確保圖片路徑正確,且服務器有讀取權限。
  • 每張嵌入圖片必須設置唯一的CID,並在HTML中對應使用。
  • 使用真實的SMTP服務器地址及賬號密碼進行測試。

總結

通過PHP與PHPMailer結合使用,開發者可以快速實現發送包含圖文的HTML郵件功能。該方式不僅能提升郵件的視覺表現,也有助於提高郵件的閱讀率和專業性。只需按照步驟配置好SMTP、撰寫HTML內容並正確嵌入圖片,即可實現圖文並茂的郵件發送。