PHPMailer отправлять почту без вложений

Я использую PHPMailer Класс для отправки электронной почты с моего онлайн-сервера.

Это письмо содержит вложение или несколько вложений.

По какой-то причине я не могу получить вложение по почте.

Я получаю только электронное письмо с информацией без вложения.

Это мой код:

require 'PHPMailer/PHPMailerAutoload.php';
$mail = new PHPMailer;
$mail->CharSet = 'UTF-8';
$mail->From = $email;
$mail->FromName = $staffname;
$mail->addAddress($email,$staffname);
for($i=0;$i<count($files);$i++){
$mail->AddAttachment($_SERVER['DOCUMENT_ROOT'],"/$path".$_FILES['myfile']['name'][$i]);
}
//Filename is optional

//Provide file path and name of the attachments
$mail->isHTML(true);
$mail->Subject = "New Task";
$message = "<h1 align='center'>YOU HAVE A NEW TASK</h1>
<table  width='100%' border='1'>
<tr bgcolor='#f7ac01' align='center'>
<td>Date</td>
<td>Description</td>
<td>Status</td>
<td>Type</td>
<td>Frequency</td>
<td>Priority</td>
</tr>
<tr align='center'>
<td>$date</td>
<td>$desc</td>
<td>$status</td>
<td>$type</td>
<td>$frequency</td>
<td>$priority</td>
</tr>
</table>
<h2 align='center'>PLEASE CHECK IT www.eiwms-progroup.com</h3>
";
$mail->MsgHTML($message);
$mail->AltBody = "";

После определенного поиска я пробую это решение

$mail->AddAttachment(dirname(__FILE__),"/$path".$_FILES['myfile']['name'][$i]);

И это

$mail->AddAttachment($_FILES['myfile']['tmp_name'][$i],$_FILES['myfile']['name'][$i]);

И это

$mail->AddAttachment("uploads/",$_FILES['myfile']['name'][$i]);

Также я проверяю свою папку загрузки и файл существует в папке

Но все это решение не решило мою проблему

Как я могу отправить электронное письмо с приложением, используя PHPmailer Учебный класс??

Загрузить код:

foreach(preg_replace('/ /','-',($_FILES['myfile']['name'])) as $f => $name) {

if(move_uploaded_file($_FILES["myfile"]["tmp_name"][$f],$path.$name)){
$query=mysqli_query($conn,"INSERT INTO tbl_taskimage(db_taskid,db_image)VALUES('$row[0]','$name')") or die(mysqli_error($conn));
$count++; // Number of successfully uploaded file
}else{header("location:add-tasks.php?msg=32");
}
}

0

Решение

Параметры должны быть: $mail->addAttachment( $path, $name (optional), $encoding (optional), $type (optional) );

Итак, вы должны использовать только $mail->addAttachment ( $filepath , basename ($filepath) );, basename возвращает имя файла

0

Другие решения

Пожалуйста, используйте ниже скрипт, который работает нормально …

            $uploadfile = tempnam(sys_get_temp_dir(), hash('sha256', $_FILES['userfile']['name']));
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
require '../vendor/autoload.php';
$mail = new PHPMailer;
$mail->setFrom('from@example.com', 'First Last');
$mail->addAddress('whoto@example.com', 'John Doe');
$mail->Subject = 'PHPMailer file sender';
$mail->Body = 'My message body';
// Attach the uploaded file
$mail->addAttachment($uploadfile, 'My uploaded file');
if (!$mail->send()) {
$msg .= "Mailer Error: " . $mail->ErrorInfo;
} else {
$msg .= "Message sent!";
}
} else {
$msg .= 'Failed to move file to ' . $uploadfile;
}
}

Быстрые ссылки:
https://github.com/PHPMailer/PHPMailer/blob/master/examples/send_file_upload.phps

https://github.com/PHPMailer/PHPMailer/wiki/Tutorial

-1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector