106

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

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

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

PHP:

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

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

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

4

2 回答 2

221

我找到了答案:

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

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

于 2010-09-14T11:07:44.077 回答
6

根据PHPMailer Manual,完整的答案是:

$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");
于 2019-07-07T21:24:28.340 回答