Phpmailer不会发送附件

时间:2016-04-05 16:52:07

标签: php phpmailer

我正在尝试制作一个带有作为附件发送的文件上传行的表单。我收到了带有$ body的电子邮件,但没有任何附件我查看了代码并在各地进行了研究,所以现在我在这里,有什么建议吗?

PHP代码

if ( isset( $_FILES['upload'] ) && $_FILES['upload']['error'] == UPLOAD_ERR_OK ) {
        $mail->IsHTML(true);
        $mail->AddAttachment( $_FILES['upload']['tmp_name'], $_FILES['upload']['name'] );
    }

HTML代码

<form action="include/contractor.php" method="post" enctype="multipart/form-data">                
<label for="upload">File</label>
<input type="file" name="upload" id="upload" /></form>

3 个答案:

答案 0 :(得分:0)

我只是将此文件上传到一个文件夹,并使用您的永久地址引用此文件。 使用服务器上的现有文件进行测试,如果解决了问题,请在发送前修改脚本以将文件保存到文件夹中。

答案 1 :(得分:0)

我喜欢子弹点,所以我会解决你的问题:

作为一个说明我还会说,您的服务器系统(可能)可能已经限制了新上传的临时文件tmp_name,他们的访问权限受到限制。因此,在附加到电子邮件发件人之前,请使用move_uploaded_file将文件保存到“真实”目的地。

答案 2 :(得分:0)

对于初学者,您需要实际上有一种方法来上传要附加的文件,这将是您列出的一些单独的代码。例如,当您向Google邮件添加文件时,您必须自己上传文件。

如果没有看到其他代码,我就无法提供更明确的解决方案。