如何将图像嵌入到 Outlook 可接受的电子邮件中
How can I embed an image into an email acceptable to Outlook
我有一些工作 php 代码可以将图像嵌入到电子邮件中,如下所示:
<?php
// Initialise
$mailTo = "john@auser.com";
$mailSubject = "Image Test";
// (Construct HTML header
$mailHead = implode("\r\n", [
"MIME-Version: 1.0",
"Content-type: text/html; charset=utf-8",
"From: noreply@asite.com"
]);
// 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 的不同方法吗?
非常感谢
大多数电子邮件客户端不支持 HTML 中的 Base 64 图像。 (参见 https://www.caniemail.com/features/image-base64/)
但是,您可以将图像作为 CID 嵌入式附件添加到您的电子邮件中,然后 link 添加到您的 HTML 电子邮件中。
这是回答这个问题的另一个 Stack Overflow 线程:How to embed images in html email
我有一些工作 php 代码可以将图像嵌入到电子邮件中,如下所示:
<?php
// Initialise
$mailTo = "john@auser.com";
$mailSubject = "Image Test";
// (Construct HTML header
$mailHead = implode("\r\n", [
"MIME-Version: 1.0",
"Content-type: text/html; charset=utf-8",
"From: noreply@asite.com"
]);
// 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 的不同方法吗? 非常感谢
大多数电子邮件客户端不支持 HTML 中的 Base 64 图像。 (参见 https://www.caniemail.com/features/image-base64/)
但是,您可以将图像作为 CID 嵌入式附件添加到您的电子邮件中,然后 link 添加到您的 HTML 电子邮件中。
这是回答这个问题的另一个 Stack Overflow 线程:How to embed images in html email