使用 PHPMailer 发送电子邮件 - 在正文中嵌入图像

2022-08-30 07:29:29

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

发送邮件时,图像不会出现在正文中,尽管我甚至将图像也作为附件发送。

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

菲律宾比索:

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

我如何使html指向附件,以便图像可以加载到正文中。

看看PHPMailer附带的示例,我没有注意到任何差异,并且在它们的情况下确实出现了图像。


答案 1

我找到了答案:

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

并在标签上放置<img>src='cid:logo_2u'


答案 2

根据PHPMailer手册,完整的答案将是:

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

用例:

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

如果要显示带有远程 URL 的图像:

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

推荐