如何使用Phpmailer附加图像?

时间:2011-05-23 09:25:23

标签: php phpmailer

我正在使用phphmailer并附加了一个图像,它只显示图像而不是图像本身这里是我的代码 你能帮忙吗?

$mail->AddEmbeddedImage('2.jpg', '2img', '2.jpg');
$mail->Subject  =  "Order Form:  Contact form submitted";
$mail->Body     =  $body . 'img src="../../photo/2img" ;

注意:我已经删除了html标签,因为我收到错误发送此问号。

2 个答案:

答案 0 :(得分:21)

PHPMailer Manual,您应该使用方法AddEmbeddedImage

$mail->AddEmbeddedImage(filename, cid, name);
By using this function with this example's value above, results in this code:
$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!';

所以cid:my-attach将替换为电子邮件正文中图片的内联源

答案 1 :(得分:-1)

使用AddEmbeddedImage()函数可以很好地显示基于Web的电子邮件中的嵌入图像。但是,雅虎总是将其添加为附件。要解决这个问题,你可以安全地忽略AddEmbeddedImage()并链接到服务器上图像的完整路径,PHPMailer有能力将其转换为CID,它将正确显示为嵌入式图像,雅虎不会添加它作为一个附件了。

在邮件的html正文中,像往常一样添加它:

<img src="http://PATH-TO-IMAGE" alt='THIS IS THE IMAGE" />