https://www.lexium.ru/2017/10/chto-delat-esli-ne-prikhodit-pochta-s-sajjta-na-wordpress/

Что делать, если не приходит почта с сайта на WordPress?

Я уже писал о рабочем методе в посте под названием «Сайт на WordPress’е не отправляет почту. Что делать?». Однако, этот метод рекомендую использовать в крайнем случае, а сначала проверьте вот что.

Что лежит в папке Спам?

Да-да. Очень часто мы начинаем искать проблему издалека, хотя причина лежит на поверхности. А именно, самая распространенная причина отсутствия писем с сайта в том, что почтовик кидает их в папку Спам.

 

Если вы используете почтовый клиент, и в папке Спам нужных писем не нашлось, попробуйте зайти на почтовик (поставщик услуг электронной почты) через веб-интерфейс. Под веб-интерфейсом почтовика я имею в виду сайты mail.yandex.ru, mail.ru, gmail.com и т.п. В последнее время многие подключили почту для доменов именно к этим почтовикам, так что проверяйте папку Спам там, где хранится ваша почта. Если она хранится на вашем сервере, проверьте есть ли веб-интерфейс там.

Работает-ли функция mail()?

Итак, в папке Спам нужных писем нет. Тогда тест посложнее, проверим работает ли функция mail(). Для этого, заходим на сайт по FTP и закидываем в корень сайта этот файл (перед закачкой на сервер не забудьте его распаковать!).

Теперь:

  1. Пройдите по ссылка типа http://ваш-сайт/mail.php
  2. Введите в поле «E-Mail» почту, на которую должно придти письмо,
  3. Нажмите кнопку «Отправить»,
  4. Увидев надпись «Тестовое письмо отправлено», проверяем почту

Если письмо с темой «Тестирование функции mail()», пришло, значит нужно искать проблему в чем-нибудь другом. Например, на сайте вирус, какой-нибудь плагин конфликтует с почтовой формой. Снова копайте в сторону почтовика, папки Спам, настроек обработчика почты (там может стоять какое-нибудь правило на удаление этой почты), антивируса и т.п. Как вариант, попробуйте перенастроить сайт на отправку почты на другой ящик. Или обратитесь к специалисту, если вы понимаете о ком я говорю))

Если НЕ пришло, значит попробуйте настроить отправку почты через SMTP, как это описано по ссылке.

И да, после проверки не забудьте удалить файл mail.php, на котором тестировали функцию mail(). На всякий случай.

Как проверить функцию mail(), если у вас нет доступа к FTP?

Хочется сказать «никак», но это неправда. Проверить функцию mail() можно, но тут вы рискуете тем, что если что-нибудь сделаете неверно, то сайт просто перестанет работать, а починить его без доступа к FTP, скорее всего, не получится.

Истеричные мессаги с криками «Я все сделал(-а) по инструкции и сайт перестал работать», не принимаются. Если вы не понимаете, что делаете, то риск, повторяю, есть. Ведь код темы (шаблона) вашего сайта может быть непредсказуемым, а значит всех нюансов никакая инструкция не предусмотрит.

Напугал? Отлично, потому что это все правда. Но допустим, вы все-таки хотите проверить. Ладно.

Тогда делаем вот что.

1. Заходим в админку, в правом меню нажимаем «Внешний вид», затем «Редактор».

2. В редакторе в правой колонке находим и кликаем по footer.php

3. В окне редактирования пролистываем содержимое файла до самого конца.

В самом конце (где нибудь после тэгов <body></html>), вставляем этот код:

<?php mail('ВАШЕ_МЫЛО', 'Тестирование функции mail()', 'Testing mail() complite.'); ?>

Внимание! «<?php» открывает, а «?>» закрывает зону, где пишется код PHP. При этом, в конце файла «?>» ставить не обязательно. Т.е. в некоторых темах зона PHP кода может быть не закрыта! И тогда, если вы вставите туда приведенную мной строку, это вызовет ошибку.

Чтобы избежать ошибки и как следствие, поломки сайта, убедитесь, что все зоны PHP-кода в файле footer.php закрыты с помощью «?>».
Если обнаружите, что в файле последний открытый тэг «<?php» не закрыт, то вставьте вместо кода, который я приводил выше, вот этот:

mail('ВАШЕ_МЫЛО', 'Тестирование функции mail()', 'Testing mail() complite.');

Т.е. все то же самое, но без тэгов.

И еще, не забываем, что ВАШЕ_МЫЛО нужно заменить на ваш адрес электронной почты. Иначе письмо не придет.

4. Сохраняем файл.

5. Если на вашем сайте установлен плагин кэширования, удалите весь кэш.

6. Зайдите на главную страницу вашего сайта. Обновите ее.

7. Проверьте почту. Должно придти письмо. Если не пришло, зайдите на другие страницы сайта и обновите их (через Ctrl-F5). Возможно для главной у вас отдельный шаблон с отдельным футером.

8. После этого снова зайдите в редактирования файла footer.php и удалите приведенную строку. Иначе, письма могут начать сыпаться вам при каждом заходе посетителя на любую страницу.

Если письма так и не пришли, то скорее всего функция mail() на вашем хостинге не работает. Переходите к методу описанному по ссылке.

А с вами был Доктор Лексиум. До новых постов)
Если помогло, можете отблагодарить меня, заслав немного монет на чаи.

 

Напишите комментарий