在邮件正文phpmailer类中添加嵌入图像

时间:2013-03-20 08:36:45

标签: php html 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");

我已经设置了其他所有内容,包括地址,邮件发送出去,我希望嵌入到身体中的徽标图像作为附件附加,任何人都知道为什么?

4 个答案:

答案 0 :(得分:5)

请勿使用$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

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

面对同样的问题,我决定更换以下

<img src="img/example.jpg"

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

并且有效。

答案 3 :(得分:-3)

只需将图片的路径提供给邮件正文,例如:(img src =“../ images / cat.jpeg)它肯定会工作