首頁 >後端開發 >php教程 >如何使用 PHPMailer 在 HTML 電子郵件中嵌入圖片?

如何使用 PHPMailer 在 HTML 電子郵件中嵌入圖片?

Susan Sarandon
Susan Sarandon原創
2024-10-23 00:43:03728瀏覽

How to Embed Images in HTML Emails Using PHPMailer?

如何在 HTML 電子郵件中嵌入圖像

發送嵌入圖像的 HTML 電子郵件可能具有挑戰性。許多解決方案依賴外部資源,這可能會導致由於垃圾郵件過濾器或電子郵件用戶端限製而導致映像載入失敗。

要克服這些問題,請考慮使用可靠的函式庫,例如 PHPMailer。讓我們探索如何使用 PHPMailer 嵌入圖像:

PHPMailer 的文檔提供了有關顯示嵌入(內聯)圖像的出色指導。建議使用AddEmbeddedImage 函數:

<code class="php">$mail->AddEmbeddedImage(filename, cid, name);</code>

其中:

  • filename 是圖片檔案的路徑
  • cid 是用於連結HTML 電子郵件中的圖片
  • cid 是用於連結
  • 名稱是將要顯示的檔案名稱

例如:
<code class="php">$mail->AddEmbeddedImage('my-photo.jpg', 'my-photo', 'my-photo.jpg ');</code>

要將嵌入映像合併到HTML 電子郵件中,插入一個img 標籤,並將src屬性設定為cid 值:
<code class="html"><img src="cid:my-photo" alt="my-photo" /></code>

這是一個完整的程式碼範例:
<code class="php">require_once('../class.phpmailer.php');
$mail = new PHPMailer(true);

$mail->IsSMTP();

try {
  $mail->Host       = "mail.yourdomain.com";
  $mail->Port       = 25;
  $mail->SetFrom('from@example.com', 'From Name');
  $mail->AddAddress('to@example.com', 'To Name');
  $mail->Subject = 'PHPMailer Test';

  $mail->AddEmbeddedImage("rocks.png", "my-attach", "rocks.png");
  $mail->Body = 'Your <b>HTML</b> with an embedded Image: <img src=&quot;cid:my-attach&quot;> Here is an image!';

  $mail->Send();
} catch (phpmailerException $e) {
  echo $e->errorMessage();
} catch (Exception $e) {
  echo $e->getMessage();
}</code>

此程式碼建構帶有嵌入圖像的HTML 電子郵件並發送它使用SMTP。您可以修改此範例以其他方式傳送電子郵件,或使用 PHPMailer 提供的不同方法,例如 CreateBody 來擷取郵件內容並手動傳送。

以上是如何使用 PHPMailer 在 HTML 電子郵件中嵌入圖片?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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