Я уже давно пытаюсь разобраться в этом, и у меня нет подсказки. Я пытаюсь написать простую форму, чтобы отправить электронное письмо с загруженным файлом (который в конечном итоге будет раскрыт во что-то действительно полезное), и он просто не работает вообще.PHPMailer отказывается отправить вложение
Письма проходят через соответствующий корпус, но вложения не включаются. Я пробовал это с формой загрузки файла, с добавлением AddAttachments к файлу на сервере и с AddAttachments, указывающим на изображение на imgur, и ни одна из них не работает; присоединяется НИКОГДА. Я в конце своего терпения сейчас, кто-нибудь знает, что я делаю неправильно или способ сделать это без phpmailer?
HTML Form
<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