gpt4 book ai didi

PHP mail() - 图片并不总是加载

转载 作者:行者123 更新时间:2023-11-28 01:31:13 25 4
gpt4 key购买 nike

我有一个基本如下的 PHP 邮件脚本:

$result = mail($to, $subject, $message, $headers);
if(!$result) {
echo "Error";
} else {
echo "Success";
}

$message 是一个 HTML 电子邮件,除了图像似乎只是偶尔加载外,它在我的电子邮件客户端中大多呈现良好。

图片都是这样的:

<img src='http://www.mywebsite.com/media/twitter.png' />

我不明白为什么有些人会加载而有些人不会,当它们都以相同的方式设置时。

我读到过将图像作为附件嵌入到电子邮件中会更好,但我不确定该怎么做。看起来你添加了这样一行:

<img src='cid:123456789'>

但这指的是什么?我该如何对这样的图像进行编码?

任何帮助将不胜感激!!谢谢

最佳答案

您必须对文件进行 base64 编码。

我在 github 上找到了一个代码示例。我自己还没有测试过,但应该会在正确的方向上给你一个很好的插入......

   $picture = file_get_contents($file);
$size = getimagesize($file);

// base64 encode the binary data, then break it into chunks according to RFC 2045 semantics
$base64 = chunk_split(base64_encode($picture));
echo '<img src="data:' . $size['mime'] . ';base64,' . "\n" . $base64 . '" ' . $size[3] . ' />', "\n";

来源:https://gist.github.com/jasny/3938108

作为旁注。您使用的图像是否经过网络优化?大图像可能会被电子邮件客户端阻止,或者只是不会被电子邮件客户端下载。

关于PHP mail() - 图片并不总是加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30210058/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com