Приходят пустые письма на почту, использую FormData и phpMailer
Приходят пустые письма на почту, использую FormData и phpMailer
HTML
<form action="mailer/smart.php" class="form__form">
<label for="name">Ваше имя</label>
<input name="name" required placeholder="Александр" type="text">
<label for="phone">Номер телефона</label>
<input name="phone" required placeholder="+7 (_ _ _) _ _ _ - _ _ - _ _">
<label for="email">Электронная почта</label>
<input data-email="email" name="email" required placeholder="[email protected]" type="email">
<label for="area">Коментарий</label>
<textarea name="question" maxlength="150"></textarea>
<button class="button button_form">отправить</button>
<input id="checkbox-modal" type="checkbox" class="form__checkbox" name="data" value="yes" checked="checked">
<label for="checkbox-modal">Согласен на обработку своих персональных данных.</label>
</form>
JS
let message = {
loading: 'Загрузка...',
success: 'Спасибо! Скоро мы с вами свяжемся!',
failure: 'Что-то пошло не так...'
};
let form = document.querySelectorAll('form'),
input = document.querySelectorAll('input'),
textarea = document.querySelectorAll('textarea'),
statusMessage = document.createElement('div');
statusMessage.classList.add('status');
form.forEach(item => {
item.addEventListener('submit', function(event) {
event.preventDefault();
item.appendChild(statusMessage);
let request = new XMLHttpRequest();
request.open('POST', 'mailer/smart.php');
request.setRequestHeader('Content-type', 'multipart/form-data');
let formData = new FormData(item);
request.send(formData);
request.addEventListener('readystatechange', function() {
if (request.readyState < 4) {
statusMessage.innerHTML = message.loading;
} else if(request.readyState === 4 && request.status == 200) {
statusMessage.innerHTML = message.success;
} else {
statusMessage.innerHTML = message.failure;
}
});
for (let i = 0; i < input.length; i++) {
input[i].value = '';
}
for (let i = 0; i < textarea.length; i++) {
textarea[i].value = '';
}
});
});
PHP
<?php
$name = $_POST['name'];
$phone = $_POST['phone'];
$email = $_POST['email'];
$area = $_POST['textarea'];
$checkbox = $_POST['data'];
require_once('phpmailer/PHPMailerAutoload.php');
$mail = new PHPMailer;
$mail->CharSet = 'utf-8';
// $mail->SMTPDebug = 3; // Enable verbose debug output
$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = 'smtp.gmail.com'; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = '***@gmail.com'; // Наш логин
$mail->Password = '***'; // Наш пароль от ящика
$mail->SMTPSecure = 'ssl'; // Enable TLS encryption, `ssl` also accepted
$mail->Port = 465; // TCP port to connect to
$mail->setFrom('***@gmail.com', 'ASO'); // От кого письмо
$mail->addAddress('***@yandex.kz'); // Add a recipient
//$mail->addAddress('[email protected]'); // Name is optional
//$mail->addReplyTo('[email protected]', 'Information');
//$mail->addCC('[email protected]');
//$mail->addBCC('[email protected]');
//$mail->addAttachment('/var/tmp/file.tar.gz'); // Add attachments
//$mail->addAttachment('/tmp/image.jpg', 'new.jpg'); // Optional name
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = 'Данные';
$mail->Body = '
Пользователь оставил данные <br>
Имя: ' . $name . ' <br>
Номер телефона: ' . $phone . '<br>
E-mail: ' . $email . '<br>
Коментарий: ' . $area . '<br>
Согласие: ' . $checkbox . '';
if(!$mail->send()) {
return false;
} else {
return true;
}
?>
Приходит вот что
Пользователь оставил данные Имя: Номер телефона: E-mail: Коментарий: Согласие:
Подскажите пожалуйста где ошибка?