带有内嵌图像和pdf附件的phpmailer电子邮件

时间:2012-03-05 09:09:02

标签: php phpmailer

我正在使用phpmailer库,它就像一个魅力。虽然有一点是正确的,并且想知道是否有人可以帮助我。

我有一个带有两个嵌入式嵌入图像的电子邮件模板。发送邮件工作完美,图像正在显示和附加。 这是代码:

$mail = new PHPMailer(true); //defaults to using php "mail()"; the true param means it will throw exceptions on errors, which we need to catch

try {
 $mail->IsHTML(true);
 $mail->AddAddress($a);
 $mail->Subject = $s;

 $mail->AddEmbeddedImage(PATH . '_mail/mail_cursus.jpg', 'kop', 'mail_cursus.jpg');
 $mail->AddEmbeddedImage(PATH . '_mail/mail_logo.jpg', 'logo', 'logo.jpg');


 $m = file_get_contents(PATH . '_mail/mail_basis.html');
 $m = str_replace('[[bodyTekst]]',$body, $m);

 $mail->Body = $m;
 $mail->Send();


} catch (phpmailerException $e) {
    zis_log($e->errorMessage());
    return $e->errorMessage(); //Pretty error messages from PHPMailer
} catch (Exception $e) {
    zis_log($e->getMessage());
    return $e->getMessage(); //Boring error messages from anything else!
}

但是当我添加$mail->AddAttachment(PATH . '_mail/Conditions.pdf')时,pdf没有附加。它不会抛出异常,而邮件正在发送。即使提供可选参数似乎也不起作用。

如何附加PDF文件和两个嵌入图像?

2 个答案:

答案 0 :(得分:1)

我在这里遇到同样的问题。 您尝试使用哪个电子邮件客户端?我注意到,通过webmail(RoudCube),Gmail webmail,Outlook 2011 Mac和Lotus Notes 8,嵌入的图像显示正确,所有附件也正确显示。 显然,Apple Mail和Thunderbird会出现问题。 使用后两个客户端,我尝试打开原始消息源,我可以正确地看到所有附件。但是电子邮件似乎根本没有附件(当然除了嵌入的图像)。

感谢您的帮助, 最好的问候。

答案 1 :(得分:1)

我发现了这个补丁: http://sourceforge.net/tracker/index.php?func=detail&aid=3151482&group_id=26031&atid=385707

哪个应该解决“问题”。 与此同时,我正在向快速邮件转移;事实证明,我在phpmailer中错过了一些很好的功能,比如日志选项和'洪水'控制。