phpmailer - 如何在没有附件的情况下发送嵌入图像?
问题描述
当我发送一张照片时,我会在电子邮件的正文中收到它,但我也会收到一个包含这张照片路径的附件。
我还尝试将其作为附件发送,而不是作为嵌入图像发送。每次我都会收到两个文件作为照片。一个是图片,另一个是路径。
这是我的代码:
for ($ct = 0; $ct < count($_FILES['userfile']['tmp_name']); $ct++) {
$uploadfile = tempnam(sys_get_temp_dir(), hash('sha256', $_FILES['userfile']['name'][$ct]));
$filename = $_FILES['userfile']['name'][$ct];
if (move_uploaded_file($_FILES['userfile']['tmp_name'][$ct], $uploadfile)) {
$mail->AddEmbeddedImage($uploadfile, "my-attach" . $ct);
// $mail->addAttachment($uploadfile, $filename);
}
我只想获取没有带有路径名的文件的照片。
谢谢你。
解决方案
您可以使用 base64 编码的图像,并使用 html 格式的电子邮件。像这样
<img src="data:image/png;base64, <?=base64_encode($imageFileContent)?>" />
推荐阅读
- c - 我有两个 char 数组,当它们的大小不同时,程序无法正确读取/写入它们
- android - 如何为可在运行时轻松更改的 RecyclerView 网格的所有项目设置唯一高度?
- java - 如何从 MainActivity onCreate 发送事件到 React Native?
- android - 访问activity_main.xml文件时在android studio中“等待构建完成”
- angular - Angular CORS:OPTIONS 预检后 PUT 缺少授权标头
- javascript - 在每个循环中为同一变量显示不同的值
- html - 颜色边框倒置
- swift - 在数组扩展中采用相同数组的方法签名
- spring - 千分尺 - 特定指标的常用标签
- reactjs - 使用 Now 将 Sanity 令牌存储为秘密不起作用