1

我有以下代码通过 phpmailer 发送电子邮件,如果我不包含 AddAttachment 行,它工作正常,所以知道所有其他常量和变量都可以翻译。

$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Host = EW_SMTP_SERVER;
$mail->SMTPAuth = TRUE;
$mail->Username = EW_SMTP_SERVER_USERNAME;
$mail->Password = EW_SMTP_SERVER_PASSWORD;
$mail->From = EW_SENDER_EMAIL;
$mail->FromName = EW_SENDER_EMAIL;
$mail->Subject = $mail_subject;
$mail->Body = $mail_message;
$mail->WordWrap = 50;
$mail->AddAttachment($mail_attachment);
$mail->AddAddress("something@yahoo.co.uk");
$mail->Send();

如果我包含附件行,则发送的电子邮件不带附件,并且不会提供任何错误消息。

如果我回显 $mail_attachment 它会给我 'leaflets/Booklet.pdf', 'leaflets/timetable-12.pdf'

我的脚本在一个名为“iytinfo”的文件夹中运行,而“leaflets”文件夹就在这个文件夹中。这 2 个文件肯定存在于“传单”文件夹中 - 我是否错误地指定了路径,或者还有什么我遗漏的东西?

任何帮助将不胜感激。谢谢你。

4

1 回答 1

1

您不能通过一次调用来添加多个文件AddAttachment。您必须像这样拨打两个电话:

// ... 
$mail->AddAttachment('leaflets/Booklet.pdf');
$mail->AddAttachment('leaflets/timetable-12.pdf');
// ...

或者你循环通过你的文件名数组或其他任何东西。

于 2012-12-20T18:47:10.690 回答