嗨,这是我第一次尝试使用 base64 编码。
我正在尝试做的一切似乎都很好,除了当我发送电子邮件时,它给了我电子邮件中的所有标签(纯文本)并且它没有正确显示 HTML。
以下是电子邮件如何通过的示例:
html>body>center>table bgcolor="#012b2b" width="100%">tr>td align="center">img src="data:image/jpg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAABGAAD...
我删除了这篇文章的所有 < 第一个括号。
到目前为止我所做的是:
$pathr = "http://www.aboutitgroup.com/dev/sbtours/files/6113/7059/1223/NewsLetter.jpg"
$sep = sha1(date('r', time()));
$attachment = file_get_contents($pathr);
$encoded = base64_encode($attachment);
$headers .= "MIME-Version: 1.0\r\n";
$headers .= " Content-Type: text/html;
boundary=\"PHP-mixed-{$sep}\"";
$headers .= "Content-Transfer-Encoding: base64";
$subject = 'Newsletter';
$messages ="... img src="data:image/jpg;base64,'.$encoded.'"/>...';
有人可以解释为什么该消息不显示在 HTML 中,而只显示为纯文本。
当我复制通过的电子邮件文本并将其保存为 HTML 文件时,它会正确显示。
谢谢你。