Всем доброе утро
Я добавляю простую форму загрузки файла резюме на целевую страницу, которую я создал некоторое время назад. Я хочу, чтобы при отправке формы содержимое, включая загруженный файл (в любом формате), отправлялось по электронной почте на выбранный адрес электронной почты. В нынешнем виде я скачал composer и использовал его для установки PHPMailer. У меня есть файлы composer .lock, composer. json (который имеет требуемый блок кода phpmailer) и composer .phar файлы в моем каталоге root для проекта.
Итак когда я отправляю форму загрузки, я получаю пустую страницу. Мне даже не выдается эхо-ошибка, которую я прошу показать мне, если была проблема с отправкой почты. Что должно произойти, так это то, что форма будет заполнена, файл загружен и отправлен. Затем должна появиться страница с благодарностью пользователю за загрузку его резюме, и, конечно же, электронное письмо со всей информацией и вложением появится во входящих.
Вот код для формы загрузки -
<section id="upload">
<div>
<h2>Upload your CV:</h2>
</div>
<div id="uploadText">
<form action="toemail.php" method="POST" id="uploadform" enctype="multipart/form-data">
<label for="name" id="labelName">Name:</label> <br>
<input type="text" name="fullName" id="name" required>
<select id="typeofjob" name="jobpreference" required>
<option value="choose" selected disabled>--Choose Area of Expertise--</option>
<option value="Front of house">Front of House</option>
<option value="Back of house">Back of House</option>
</select>
<input type="file" id="filetoupload" name="file" required>
<button type="submit" name="upload_button" id="uploadbtn">Upload CV</button>
</form>
</div>
</section>
и вот то, что у меня есть для php кода. Я впервые использую phpmailer, поэтому, возможно, я что-то упустил. Заранее благодарим за любую помощь.
<?php
// using Composer to dounwload PHP Mailer and PHP Mailer to attach the uploaded file to a sent email
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
if(isset($_POST['upload_button'])){
require 'phpmailer/phpmailerAutoload.php';
require 'vendor/autoload.php';
$mail = new PHPMailer();
$name = $_POST['fullName'];
$preference = $_POST['jobpreference'];
$filename = $_FILES['file']['name'];
$file = $_FILES['file']['tmp_name'];
// $destination = 'uploads/'. $filename;
// $extension = pathinfo($filename,PATHINFO_EXTENSION);
// $size = $_FILES['file']['size'];
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com'; // Your Domain Name
$mail->SMTPAuth = true;
$mail->Port = 587;
$mail->SMTPSecure = 'tls';
$mail->Username = "____@gmaill.com"; // Your Email ID
$mail->Password = "___"; // Password of your email id
$mail->setFrom = "noreply@yourdomain.com";
$mail->FromName = "___";
$mail->AddAddress ("___"); // On which email id you want to get the message
$mail->addAttachment($file,$filename); //This line Use to Keep User Txt,Doc,pdf file ,attachment
$mail->IsHTML(true);
$mail->Subject = "Uploaded CV by $name"; // This is your subject
// HTML Message Starts here
$mail->Body = "
<html>
<body>
<table style='width:600px;'>
<tbody>
<tr>
<td style='width:150px'><strong>Name: </strong></td>
<td style='width:400px'>$name</td>
</tr>
<tr>
<td style='width:150px'><strong>Email ID: </strong></td>
<td style='width:400px'>$preference</td>
</tr>
</tbody>
</table>
</body>
</html>
";
// HTML Message Ends here
if(!$mail->send())
{
echo "Error";
}
else
{
header('location:thanksforcv.html');
}
}
?>
Любая помощь приветствуется.