Задать вопрос
@Bemfes

Почему не приходит письмо на почту с WordPress?

Здравствуйте, пытаюсь сделать отправку формы с сайта на wordpress, использую такой js код
const submitBtn = document.querySelector('.callback-form__btn')
const inputName = document.querySelector('.form-input-name')
const inputPhone = document.querySelector('.form-input-phone')
const handlerUrl = "http://domen.ru/wp-content/themes/blog-theme/send.php";	
submitBtn.addEventListener('click', async (event) => {
        event.preventDefault();

        const formData = {
            name: inputName.value,
            phone: inputPhone.value 
        }

        const response = await fetch(handlerUrl, {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json;charset=utf-8'
            },
            body: JSON.stringify(formData)
        });

        if (response.ok) {
            alert("Ваше сообщение отправлено!");
            console.log(response);
            inputName.value = '';
            inputPhone.value = ''
            
        }
    })

А также файл php
<?php
$name = isset($_POST['your-name']) ? $_POST['your-name'] : null;

$phone = isset($_POST['your-phone']) ? $_POST['your-phone'] : null;

$to = 'почта@gmail.com';

$subject = 'Обратная связь с сайта';
$headers = "Content-type: text/html; charset=utf-8 \r\n";

$message = '
            <html>
                <body>
                    <p><b>Имя</b>: '.$name.'</p>';

if ($phone) {
    $message .= '<p><b>Phone</b>: '.$phone.'</p> ';
}

$message .= '</body></html>';

require(__DIR__ . '../../../wp-load.php');

$status = wp_mail($to, $subject, $message, $headers);

echo $status . $message;
?>

форма html
<form action="#" class="callback-form">
	<input name="your-name" type="text" class="form-input form-input-name callback-form__input" placeholder="Ваше имя">
	<input name="your-phone" type="tel" class="form-input form-input-phone callback-form__input" placeholder="Ваше телефон">
	<textarea class="form-input callback-form__textarea" placeholder="Сообщение..."></textarea>
	<button type="submit" class="callback-form__btn form-btn btn-reset">
		<span>Отправить</span>
	</button>
</form>

Когда отправляешь форму, пишет, что все хорошо, response.ok, но на мою почту (gmail), письма не приходят, в чем может быть проблема?
  • Вопрос задан
  • 38 просмотров
Подписаться 1 Средний 1 комментарий
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы