Пытаюсь настроить отправку формы на почту при сабмите. С php сталкиваюсь впервые, как и с fetch, но вот что получается: (использую библиотеку bouncer.js):
html:
<form class="form" method="POST" action="mail.php">
<ul class="form__list">
<li class="form__item">
<label class="form__label" for="name">Имя</label>
<input class="form__field" type="text" name="name" id="name" placeholder="Введите имя" required>
</li>
<li class="form__item">
<label class="form__label" for="tel">Номер телефона</label>
<input class="form__field" type="tel" name="tel" id="tel" placeholder="+7 (___) ___-__-__" required>
</li>
</ul>
<button class="form__btn btn" type="submit" name="form-submit">Отправить</button>
</form>
js (fetch)
form.addEventListener('bouncerFormValid', formSend);
async function formSend(e) {
let formData = new FormData(form);
let response = await fetch('mail.php', {
method: ('POST'),
body: FormData,
});
if (response.ok) {
let result = await response.json();
alert(result.message);
form.reset();
} else {
alert('Упс, что-то пошло не так');
}
};
php (phpmailer):
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'phpmailer/src/Exception.php';
require 'phpmailer/src/PHPMailer.php';
$mail = new PHPMailer(true);
$mail->CharSet = 'UTF-8';
$mail->setLanguage('ru', 'phpmailer/language/');
$mail->IsHTML(true);
$mail->setFrom('info@chipdip33.ru', 'Чип и Дип');
$mail->addAdress('milan7457@yandex.ru');
$mail->Subject = 'Привет';
$body = '<h1>Тело письма</h1>';
if(trim(!empty($_POST['name']))){
$body.='<p><strong>Имя</strong> '.$_POST['name'].'</p>';
}
if(trim(!empty($_POST['tel']))){
$body.='<p><strong>Имя</strong> '.$_POST['tel'].'</p>';
}
if(!$mail->send()) {
$message = 'Ошибка';
} else {
$message = 'Данные отправлены';
}
$response = ['message' => $message];
header('Content-type: application.json');
echo json_encode($response);
?>
файл mail.php находится на одном уровне с index.html. В качестве отправителя письма указана доменная почта сайта. Сайт лежит на хостинге без всяких cms. Никакой настройки почты на хостинге я не делал , только создал, да и без понятия нужна ли какая настройка. все делаю впервые. Буду рад любой помощи, спасибо.
UPD 1. Добавил логи из девтулз в спойлер с ошибкой.
UPD 2. Логи сервера с ошибкой здесь[Mon Dec 28 23:07:21 2020] [php7:error] [pid 168688] [client 95.106.199.138:0] PHP Fatal error: Uncaught PHPMailer\\PHPMailer\\Exception: \xd0\x9f\xd1\x83\xd1\x81\xd1\x82\xd0\xbe\xd0\xb5 \xd1\x81\xd0\xbe\xd0\xbe\xd0\xb1\xd1\x89\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb5 in /home/m/milan7457y/public_html/resources/phpmailer/src/PHPMailer.php:1535\nStack trace:\n#0 /home/m/milan7457y/public_html/resources/phpmailer/src/PHPMailer.php(1438): PHPMailer\\PHPMailer\\PHPMailer->preSend()\n#1 /home/m/milan7457y/public_html/mail.php(26): PHPMailer\\PHPMailer\\PHPMailer->send()\n#2 {main}\n thrown in /home/m/milan7457y/public_html/resources/phpmailer/src/PHPMailer.php on line 1535, referer: https://chipdip33.ru/