Отправка электронной почты с помощью вложения через PHPMailer

У меня возникла проблема с отправкой PHPMailer электронной почты с прикрепленным к ней вложением изображения. Я просто получаю сообщение «Ошибка почты» каждый раз, когда он пытается отправить. Я просто не вижу, что происходит. Ошибок в error_log нет, он просто терпит неудачу каждый раз.

Ввод HTML, связанный с прикреплением изображения:

<input type="file" name="file" placeholder="Choose an image." id="imageupload" accept="image/jpeg" /> 

Код PHP:

 <?php // Make sure logged in include('../php_scripts/login-required.php'); // Make sure posted if (!$_POST) { header('location: ./404.php'); } // Include PHPmailer require 'site_includes/PHPMailer/class.phpmailer.php'; // Get variables $offertype = $_POST['ot']; if ($offertype == 1) { $offertype = 'Discount'; } elseif ($offertype == 2) { $offertype = 'Free'; } else { $offertype = 'Not set'; } $offerdetail = $_POST['od']; // Check for errors if (!isset($offertype) || empty($offertype)) { $errors = 1; header('location: ./create-advert.php?errors=' . $errors . '&ot=' . $offertype . '&od=' . $offerdetail); } elseif (!isset($offerdetail) || empty($offerdetail)) { $errors = 2; header('location: ./create-advert.php?errors=' . $errors . '&ot=' . $offertype . '&od=' . $offerdetail); } // Get variables from database include('../php_scripts/db-connect.php'); include('../php_scripts/get-userinfo.php'); // Set mail variables $reply = $email; $replyname = $fullname; $to = 'test@example.com'; $toname = 'John Doe'; $from = 'example@example.com'; $subject = 'New Advert Request'; $message = 'Name: ' . $fullname . "\r\n" . "Company: " . $company . "\r\n" . "Phone: " . $phone . "\r\n" . "Email: " . $email . "\r\n\r\n" . $offertype . "\r\n" . "--------------------------------------------------" . "\r\n\r\n" . $offerdetail; if (isset($_FILES['file'])) { // Get attachment and upload $tmp_name = $_FILES['file']['tmp_name']; $name = $_FILES['file']['name']; move_uploaded_file($tmp_name, "uploads/$name"); // Send email with attachment $mail = new PHPMailer; $mail->From = $from; $mail->addAddress($to, $toname); $mail->addReplyTo($reply, $replyname); $mail->WordWrap = 50; $mail->addAttachment( '/uploads/' . $name, $name, 'base64', 'mime/type' ); $mail->Subject = $subject; $mail->AltBody = $message; if (!$mail->send()) { echo 'Mail Error!'; exit; } else { echo 'Message has been sent!'; } } 

?>

Я также знаю, что в этом случае я должен создать массив для допустимых расширений файлов (только .jpg или .jpeg), но я также не уверен, как именно и где их реализовать.

Кроме того, я только поменял $ и $ на электронные письма. Почему это всегда будет не в состоянии отправить? Все, что я хочу сделать, это отправить текстовое электронное письмо либо с приложением электронной почты, либо без него.