2014-08-31 56 views
1

我将一些内嵌图像添加到电子邮件中,其中图像是以字符串形式存储的png。PHPmailer inline .png附加为.txt

$mail->addStringEmbeddedImage($imageData, $imageName); 

,并在模板

<img src="cid:<?= $imageName ?>" alt=""> 

的图像得到显示在接收到的电子邮件就好了,但他们也表现为附加的文本文件。

enter image description here

反正是有隐藏的附件,或者至少给他们有意义的文件名?

+0

尝试使用: '$ MAIL-> AddEmbeddedImage;' – 2014-08-31 20:31:33

+0

@HayderAbbass谢谢,但'$ MAIL-> addEmbeddedImage()'预计一( '$ imageName。')文件名,但我的图像数据存储在'$ imageData'中作为'String' – andrew 2014-08-31 20:35:00

回答

0
<img src="cid:<?= $imageName ?>" alt=""> 

应该

<img src="<?= $imageName ?>" alt=""> 

CID你phpmail交易。

+0

我试过了,但现在图像只是作为附件发送,它们没有嵌入到电子邮件正文 – andrew 2014-08-31 20:59:06

0

好的,我想通了。

即使将图像嵌入到电子邮件正文中,您仍然可以指定文件名。 它的第三个参数addStringEmbeddedImage

$mail->addStringEmbeddedImage($imageData, $imageName,$imageName.'.png'); 
+0

您应该将自己的答案标记为解决方案... – Synchro 2014-09-01 06:54:57

+0

@Synchro我可能会如果没有更好的答案张贴,但Stackoverflow让你等待2天,然后才能接受自己的答案 – andrew 2014-09-01 10:41:27