任何人都可以告诉我使用phpMailer发送带附件的电子邮件的步骤。 我已准备好所有代码来发送电子邮件本身,它工作正常,但我不明白如何发送附件。我有表单,如果我从POST上的文件输入中获取值,它只给我文件名而不是完整路径。我想为了添加附件,我需要获取文件的完整路径,对吧? 我不必在服务器上存储文件,只需要通过电子邮件发送它。
答案 0 :(得分:4)
我找到了解决方案: 首先,在我的表单中,我必须包含enctype =“multipart / form-data”来发送文件,所以它必须是这样的:
<form method="POST" action="send.php" enctype="multipart/form-data">
inputs...
</form>
之后我以这种方式获得文件:
if(is_uploaded_file($_FILES['myfile']['tmp_name'])) {
$file = $_FILES['myfile'];
}
然后我准备这个文件的路径,该文件现在位于temp目录中并识别新的文件名:
$attachment_path = $this->file['tmp_name'];
//If need to give new name for the file:
//$newfilename = pathinfo(basename($this->file['name']));
//$attachment_name = "attachment_new_name.".$newfilename['extension'];
$attachment_name = basename($this->file['name']);
$mail->AddAttachment($attachment_path, $attachment_name);
完成!文件已附加。