发送带有 PHPMailer 的电子邮件-在正文中嵌入图像

我尝试用 PHPMailer 发送带有图片的 HTML 邮件。 正文从包含所有信息的 html 文件中加载。

当发送邮件,图像不会出现在身体,虽然我甚至发送图像也作为一个附件。

HTML <img>标记指向与该位置相同的位置。

PHP:

$mail->AddAttachment('img/2u_cs_mini.jpg');

如何使 html 指向附件,以便图像可以加载到主体中。

查看 PHPMailer 附带的示例时,我没有注意到任何差异,而且在它们的示例中确实出现了图像。

126339 次浏览

I found the answer:

$mail->AddEmbeddedImage('img/2u_cs_mini.jpg', 'logo_2u');

and on the <img> tag put src='cid:logo_2u'

According to PHPMailer Manual, full answer would be :

$mail->AddEmbeddedImage(filename, cid, name);
//Example
$mail->AddEmbeddedImage('my-photo.jpg', 'my-photo', 'my-photo.jpg ');

Use Case :

$mail->AddEmbeddedImage("rocks.png", "my-attach", "rocks.png");
$mail->Body = 'Embedded Image: <img alt="PHPMailer" src="cid:my-attach"> Here is an image!';

If you want to display an image with a remote URL :

$mail->addStringAttachment(file_get_contents("url"), "filename");