Вложения PHP Mailer не загружаются?

0

Я пытаюсь настроить PHP Mailer, чтобы разрешить отправлять вложения, в основном только изображения, из формы. У меня есть следующий код, за исключением того, что я не получаю вложения, они не загружаются. Может ли кто-нибудь помочь мне или указать мне в правильном направлении относительно того, чего я не хватает?

PHP

<?php
require 'class.phpmailer.php';

date_default_timezone_set('Europe/London');

$mail = new PHPMailer;

$current=date('l F dS, Y, H:i a');
$mail->From = '[email protected]';
$mail->FromName = 'Mailer';
$mail->addAddress('[email protected]', 'Karina McG');
$mail->addAddress('[email protected]');
$mail->addReplyTo('[email protected]');
$mail->addCC('');
$mail->addBCC('');

$mail->addAttachment('/var/tmp/file.tar.gz');
$mail->addAttachment('/tmp/image.jpg', 'new.jpg');
$mail->isHTML(true);

$name=$_POST['name'];
$subject=$_POST['subject'];
$system=$_POST['system'];
$country=$_POST['country'];
$description=$_POST['description'];

$mail->Subject = "TEMPUR Web Support Request - $system";
$mail->Body = "Dear $name,<br>
<br>
We have received your TEMPUR request form! - $current<br>
<br>
We will be in contact shortly regarding your issue/s.<br>
<br>
Name : $name <br>
Country : $country <br>
Subject : $subject <br>
System : $system <br>
Description : $description"; 

$mail->AltBody = 'Hehehe';

//$to="$email";//Will change to Digital Users email!

   //Send email
if(!$mail->send()) {
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
exit;
}

echo 'Message has been sent';

?>

HTML

Upload File:<input type="file" name="upload" id="upload"><br>
  • 1
    Являются ли те файлы, которые вы пытаетесь прикрепить, в этих каталогах относительно места расположения вашего скрипта? if(file_exists('/var/tmp/file.tar.gz')){die('woot!');}else{die('nope!');}
  • 0
    @MonkeyZeus: пути абсолютны, поэтому нет никакой относительности. Вопрос в том, существуют ли файлы.
Показать ещё 2 комментария
Теги:
email
phpmailer
attachment

1 ответ

0

добавьте enctype="multipart/form-data" в форму как атрибут, если это не их.

также попробуйте $mail->addAttachment($_FILES["upload"]["tmp_name"]);

Это будет работать.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню