我正在使用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文件和两个嵌入图像?
答案 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中错过了一些很好的功能,比如日志选项和'洪水'控制。