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

Susan Sarandon
發布: 2024-10-23 00:43:03
原創
606 人瀏覽過

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中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!