Как настроить SMTP для Wordpress для отправки данных из формы?

- сайт на Wordpress, размещен на VPS
- в футере есть форма подписки на рассылку (сообщение отправляется на email админа, что пользователь подписан на новости)
<form action="subscribe/email.php" method="POST">
    <input type="email" id="email" name="email" placeholder="Введите e-mail" required>
    <input type="submit" name="subscribe" value="Подписаться">
  </form>


- в отдельной папке лежит файл обработчик:
<?php 
    $to = "admin@store.ru"; 
    $subject = "Пользователь подписался на сайт";
    $message = "Email: " . $_POST['email'] . "<br>";
    $headers = "Content-type:text/html;charset=UTF-8" . "\r\n";
    mail($to, $subject, $message, $headers);
?>


- данная форма работает, если добавить ее на тестовый сайт, который без cms и лежит на обычном хостинге
- на сайте, который на Wordpress и на VPS форма не работает
- SMTP на сайте настроил с помощью плагина "WP Mail SMTP" (если делать заказы на сайте отбивки приходят)
- предполагаю, что проблема в настройках почтового сервера и что его необходимо как-то донастроить

Буду благодарен за любую информацию
  • Вопрос задан
  • 71 просмотр
Решения вопроса 1
YBB
@YBB
1. <form action="subscribe/email.php" method="POST">
Если включено ЧПУ, то так делать нельзя. Путь должен быть абсолютным, от корня сайта.

2. mail($to, $subject, $message, $headers);
Если хотите чтобы использовался плагин и соответственно вордпресс, то к скрипту надо подключать вордпресс и вызывать не mail(), а wp_mail(). Однако это хоть рабочий, но не совсем правильный подход. Правильнее сделать свой плагин и подключать скрипт к вордпрессу, а не наоборот.

А еще правильнее не изобретать велосипед, а использовать готовый плагин обратной связи, например, CF7.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы