我正在尝试使用PHPMailer向图像发送HTML邮件。 正文从html文件加载,其中包含所有信息。
发送邮件时,图像不会出现在正文中,但我甚至也将图像作为附件发送。
HTML <img>
标记指向与该地点相同的位置。
PHP:
$mail->AddAttachment('img/2u_cs_mini.jpg');
如何将html指向附件,以便可以将图像加载到正文中。
查看PHPMailer附带的示例我没有注意到任何差异,在他们的情况下,图像确实出现了。
答案 0 :(得分:189)
我找到了答案:
$mail->AddEmbeddedImage('img/2u_cs_mini.jpg', 'logo_2u');
并在<img>
标记上放置src='cid:logo_2u'
答案 1 :(得分:0)
根据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");