【问题标题】:phpmailer sends email but does not include attachmentphpmailer 发送电子邮件但不包含附件
【发布时间】:2012-12-20 18:41:14
【问题描述】:

我有以下代码通过 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”文件夹位于该文件夹中。 'leaflets' 文件夹中肯定存在这 2 个文件 - 我是否指定了错误的路径或者我还缺少其他什么?

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

【问题讨论】:

    标签: phpmailer


    【解决方案1】:

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

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

    或者你遍历文件名的数组或其他。

    【讨论】:

    • 感谢附件现已包含在内。已经在网上看到了许多示例,这些示例表明可以通过一个呼叫以逗号分隔的字符串发送多个附件,这就是我尝试它的原因。如果我需要在 AddAddress 或 BCC 中添加多个地址,是否也应该通过多次调用以相同的方式完成?
    • 没有。用逗号分隔的电子邮件地址没有问题。
    • 感谢您的帮助。谢谢你
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多