我有一些有效的 php 代碼可以將影像嵌入到電子郵件中,如下所示:
<?php
// Initialise
$mailTo = "[email protected]";
$mailSubject = "Image Test";
// (Construct HTML header
$mailHead = implode("\r\n", [
"MIME-Version: 1.0",
"Content-type: text/html; charset=utf-8",
"From: [email protected]"
]);
// Build email body - the image is directly embedded using Base64 Encode
$path = 'test.jpg';
$img = file_get_contents($path);
$imgdata = base64_encode($img);
$mailBody = "<p>Here is an image.</p>";
$mailBody = $mailBody . "<img src='data:image/jpg;base64," . $imgdata . "'/><br>";
// Send email
echo $mailBody;
echo mail($mailTo, $mailSubject, $mailBody, $mailHead)
? "OK" : "ERROR" ;
?>
當您運行此代碼作為確認時,此代碼會顯示整個電子郵件,包括影像。我可以使用默認電子郵件應用程式在我的手機上收到此 OK,但在 Outlook 中卻無法通過。我得到小方塊以顯示影像存在,但右鍵單擊并選擇下載圖片什么也沒顯示。
任何人都可以建議修復或推薦適用于 Outlook 的不同方法嗎?非常感謝
uj5u.com熱心網友回復:
大多數電子郵件客戶端不支持 HTML 中的 Base 64 影像。(見https://www.caniemail.com/features/image-base64/)
但是,您可以將影像作為 CID 嵌入附件添加到您的電子郵件中,然后在您的 HTML 電子郵件中鏈接到該附件。
這是回答這個問題的另一個 Stack Overflow 執行緒:How to embed images in html email
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/355895.html
