首页 > 解决方案 > 如何在没有附件的情况下发送嵌入图像?

问题描述

当我发送一张照片时,我会在电子邮件的正文中收到它,但我也会收到一个包含这张照片路径的附件。

我还尝试将其作为附件发送,而不是作为嵌入图像发送。每次我都会收到两个文件作为照片。一个是图片,另一个是路径。

这是我的代码:

    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);
        } 

我只想获取没有带有路径名的文件的照片。

谢谢你。

标签: phpmailer

解决方案


您可以使用 base64 编码的图像,并使用 html 格式的电子邮件。像这样

<img src="data:image/png;base64, <?=base64_encode($imageFileContent)?>" />

推荐阅读