2

我的问题和这个完全一样,我得到的附件没有扩展名,如果我手动将扩展名放到文件中,文件仍然无法识别。什么可能导致这种情况?

这是附件添加部分,其余为标准:

  foreach($_FILES['uploads']['name'] as $key => $file){
    $mail->attachment[] = array($_FILES['uploads']['tmp_name'][$key], $_FILES['uploads']['name'][$key]);
    $mail->boundary = "_b" . md5(uniqid(time()));
  }

编辑:

在每个附件的开头我得到这个:

name="phpmailer.inc.php"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="phpmailer.inc.php"

这是正常的吗?

编辑:另外,我将文件复制到服务器并从那里将它们添加到附件中,但所有文件都是“noname”并且大小正确。

4

1 回答 1

0

我认为您不能像临时文件那样使用$_FILES['uploads']['tmp_name'][$key]文件作为附件$_FILES['uploads']['tmp_name']

首先,您需要将该文档/文件上传到服务器,然后将其附加到邮件中。不仅仅是它会起作用。

于 2013-01-07T14:18:53.013 回答