添加邮件正文的PHPMailer类

问题描述:

林内嵌入图像尝试我的邮件正文中嵌入的图像,但它作为附件添加邮件正文的PHPMailer类

$mailer->Subject = APP_NAME . " - " . $name . " send you and Ad : " . $row['name']; 
    $mailer->IsHTML(true); 
    $mailer->AddEmbeddedImage('../images/namDiams.png', 'logoimg', 'namDimes.png'); 

    //footer 
    $footer = "Regards<br/><br/>"; 
    $footer .= '<table style="width: 95%">'; 
    $footer .= '<tr>'; 
    $footer .= '<td>'; 
    $footer .= "<strong><span style='font-size: 15px'>NamDimes Team</span></strong><br/> 
        NamDimes<br/> 
        Contact Number: " . APP_CONTACT . "<br/> 
        Email: " . APP_EMAIL . "<br/> 
        Website: " . APP_WEBSITE . "<br/>"; 
    $footer .= '</td>'; 
    $footer .= '<td style="text-align:right">'; 
    $footer .= '<img src=\"cid:logoimg\" />'; 
    $footer .= '</td>'; 
    $footer .= '</tr>'; 
    $footer .= '</table>'; 

    $mailer->Body = $body . $footer; 
    $mailer->AltBody="This is text only alternative body."; 
    $mailer->AddAttachment('../' . $row['image_path'], $row['name'] . ".jpg"); 

我已经否则设置一切都结束了,包括地址,邮件获取发送,我想嵌入身体的徽标图像作为附件附加,任何人都知道为什么?

+1

你的代码似乎工作。一定要有最新的PHPmailer版本。顺便说一句,恕我直言,你应该使用外部图像,而不是嵌入式的。 – Ghigo 2013-03-20 08:43:04

+0

我没有让你在externel图像部分,这种新的 – Lappies 2013-03-20 08:47:17

+0

只是简单的'http://'链接。就像'http:// your.site.com/img/mypic.png' – Ghigo 2013-03-20 08:49:05

不要使用$mailer->AddEmbeddedImage,而是直接添加

<img src="http://.../images/namDiams.png" />来代替。

邮件长度应该更轻...它的工作原理。

编辑

我不知道这是否会帮助你,但有一点错误的位置:

$mailer->AddEmbeddedImage('../images/namDiams.png', 'logoimg', 'namDimes.png'); 

应该

$mailer->AddEmbeddedImage('../images/namDiams.png', 'logoimg', 'namDiames.png');//the last param the second 'a' was missing... 

另一个话题here

+0

一些如何从img标签中删除src属性,如果我这样做 – Lappies 2013-03-20 09:04:18

just gi (IMG SRC =“../ images/cat.jpeg)它将一定工作

+2

这绝对不行。 – Ghigo 2013-03-20 10:04:22

我可以确认user2189925的答案确实起作用。但是,我使用绝对路径,因为调用脚本的位置比图像的位置更可能发生更改。
例如

<img src="C:\folder\images\namDiames.png" /> 
+0

指向硬盘上的本地文件将永远不会显示在实际的电子邮件中。所以这将永远不会工作。 – Jordy 2016-06-07 09:21:10

+0

这对我有效。 PHPMailer非常聪明,可以通过将'src'属性的值替换为图像的实际源数据来将图像嵌入到电子邮件中。 – NathanW 2016-06-07 16:46:32

面临着同样的问题,于是我决定用

<img src= "https://mysitename.com/img/example.jpg"> 

替换下列

<img src="img/example.jpg" 

和它的工作。