@deniskins23

Не отправляются письма в wordpress, как исправить?

Доброго времени суток подскажите, пытаюсь настроить отправку писем в wordpress? только без сторонних плагинов(потому что они просто рушат верстку), ошибок не выдает никаких, но при этом письма не уходят.
Вот сама форма:
<form class="first-form" action="<?php echo admin_url('admin-ajax.php?action=send_mail', $scheme) ?>" method="POST" name="main-form">
          <div class="first-form__left">
            <div class="first-form__block first-form__block-top">
              <label class="first-form__label">
                <div class="first-form__title">Ваше имя</div>
                <input class="first-form__input" id="username" type="text" name="user_name" placeholder="Ваше имя"
                  required>
              </label>
              <label class="first-form__label">
                <div class="first-form__title">Ваш телефон</div>
                <input class="first-form__input" id="phone" type="tel" name="user_phone" placeholder="Ваш телефон"
                  required>
              </label>
            </div>
            <div class="first-form__block first-form__block-middle">
              <label class="first-form__label first-form__label-textarea">
                <div class="first-form__title">Сообщение</div>
                <textarea class="first-form__input first-form__input-textarea" id="msg" name="user_msg" placeholder="Сообщение"></textarea>
              </label>
            </div>
            <div class="first-form__block first-form__block-btn">
              <button class="first-form__btn" id="main-form__btn" type="submit" disabled>Отправить заявку</button>
            </div>
            <div class="first-form__block first-form__block-confed">
              <input class="main-form__input-confed" id="main-confed" name="confed" type="checkbox" value="">
              <p class="main-form__confed_text">Я согласен на обработку персональных данных.<a class="main-form__confed_link"
                  href="<?php bloginfo('template_directory'); ?>/Условия обработки персональных данных.docx" target="_blank" title="Нажмите чтобы просмотреть условия обработки персональных данных">Политика
                  конфиденциальности</a></p>
            </div>
          </div>
</form>

Вот код functions.php:
add_action('wp_ajax_send_mail', 'send_mail');
add_action('wp_ajax_nopriv_send_mail', 'send_mail');

// отправка заявок
function send_mail() {
	$to = "mail@yandex.ru";
	$subject = "Новая заявка с сайта site.ru";
	$name = $_POST['user_name'];
// $name1 = $_POST['user_name1'];
$phone = $_POST['user_phone'];
// $phone1 = $_POST['user_phone1'];
$umsg = $_POST['user_msg'];

remove_all_filters('wp_mail_form');
remove_all_filters('wp_mail_form_name');

$message = "<b>Имя:</b> ".$name."<br/>
        <b>Телефон:</b> ".$phone ."<br/>
        <b>Сообщение:</b> ".$umsg ."<br/>";

$sendfrom = "site.ru";
$headers  = "From: " . strip_tags($sendfrom) . "\r\n";
$headers .= "Reply-To: ". strip_tags($sendfrom) . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html;charset=utf-8 \r\n";
$headers .= "Content-Transfer-Encoding: 8bit \r\n";

wp_mail($to, $subject, $message, $headers);
wp_die();
}

Во код js:
$(function() {
	$('.first-form').submit(function(e) {
		var $mainForm = $(this);
		$.ajax({
			type: $mainForm.attr('method'),
			url: $mainForm.attr('action'),
			data: $mainForm.serialize()
		}).done(function() {
			$('.popup-thanks').fadeIn();
			$('form[name=main-form]').trigger('reset');
		}).fail(function() {
			$('.popup-err-main').fadeIn();
			$('form[name=main-form]').trigger('reset');
		});
		//отмена действия по умолчанию для кнопки submit
		e.preventDefault();
	});
});

Кто может подсказать?
  • Вопрос задан
  • 163 просмотра
Решения вопроса 1
Acaweb
@Acaweb
Начинающий Вэб-разработчик
1. Поставь плагин (для отправки почты), проверь работает ли функция mail на хостинге. Возможно нужно отправлять по протоколу SMTP
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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