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

时间:2010-09-14 10:50:19

标签: php html image email

我正在尝试使用PHPMailer向图像发送HTML邮件。 正文从html文件加载,其中包含所有信息。

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

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

PHP:

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

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

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

2 个答案:

答案 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");