我一直在尝试一段时间来让我的头在这附近,我不知道。我试图写一个简单的表单来发送带有上传文件的电子邮件(它最终会扩展成实际有用的东西),而且根本不起作用。PHPMailer拒绝发送附件
电子邮件是通过适当的机构,但没有附件被包括在内。我已经用文件上传的形式尝试过了,AddAttachments链接到服务器上的一个文件,AddAttachments指向imgur上的图像,它们都不起作用;附件永远不会通过。我现在对我的耐心已经结束了,有没有人知道我在做什么错误或者没有phpmailer的方法?
HTML表单
<form action="xxxx.php" id="upload" method="post" name="upload">
<input id="fileToUpload" name="fileToUpload" type="file" />
<input type="submit" />
</form>
PHP代码
require("../../../classes/class.phpmailer.php");
$mail = new PHPMailer();
$mail->From = "[email protected]";
$mail->FromName = "Uploader";
$mail->AddAddress("[email protected]");
$mail->Subject = "First PHPMailer Message";
$mail->Body = "Hi! \n\n This is my first e-mail sent through PHPMailer.";
$mail->WordWrap = 50;
$mail->AddAttachment($_FILES['fileToUpload']['tmp_name'], $_FILES['fileToUpload']['name']);
if(!$mail->Send()) {
echo 'Message was not sent.';
echo 'Mailer error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent.';
这可能对你有用:http://stackoverflow.com/questions/4007969/application-x-www-form-urlencoded-or-multipart-form-data。我认为你需要在表单上使用'enctype =“multipart/form-data”'。 – potame 2015-04-01 13:50:25