首页 > 解决方案 > 如何在邮件中添加嵌入图像但不附加图像?

问题描述

我在邮件正文中添加图像时遇到问题。我用来在我的 php 正文中添加图像的所有方式都附加了图像,我不希望它发生。我只想将它嵌入到邮件正文中。

这是我的邮件内容:

在此处输入图像描述

我的第一种方式:(使用 phpMailer 函数)

$mail->AddEmbeddedImage("img/LafProject.png", "LafProject", "LafProject.png");
$content = '<img src="cid:LafProject" />';

这就是我尝试使用上面的代码时发生的情况:

在此处输入图像描述

(附件 - 我不知道如何删除它)

我的第二种方式:(在图像中使用base64_encode)

$content = '<img src="data:image/png;base64,' . base64_encode(get_file_contents("img/LafProject.png")) . '" />';

这就是我尝试使用上面的代码时发生的情况:

在此处输入图像描述

(与第一种方式相同,但附加了另一个文件名)

标签: phpphpmailer

解决方案


我认为您错过了一件基本的事情:嵌入的图像也是附件。它们是否也显示为附件取决于您的电子邮件客户端的实现。避免这种情况的唯一方法是使用根本不是附件的图像,也就是说,它们是通过外部 URL 链接的。不幸的是,这通常意味着根本不会显示图像,因为大多数电子邮件客户端应用程序默认不显示图像。

处理这个问题的最好方法是确保你的布局无论有没有图像都看起来和工作得很好,所以特别要利用 alt 属性。


推荐阅读