發送嵌入圖像的 HTML 電子郵件可能具有挑戰性。許多解決方案依賴外部資源,這可能會導致由於垃圾郵件過濾器或電子郵件用戶端限製而導致映像載入失敗。
要克服這些問題,請考慮使用可靠的函式庫,例如 PHPMailer。讓我們探索如何使用 PHPMailer 嵌入圖像:
PHPMailer 的文檔提供了有關顯示嵌入(內聯)圖像的出色指導。建議使用AddEmbeddedImage 函數:
<code class="php">$mail->AddEmbeddedImage(filename, cid, name);</code>
其中:
<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="cid:my-attach"> 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中文網其他相關文章!