WordPress не отправляет письма

WordPress обычно отправляет письма про новые комментарии, восстановление пароля и прочее. Но что делать, если письма не приходят?

WordPress отправляет письма с помощью php функции mail с e-mail wordpress@<your_domain> в поле from. Некоторые хостинги требуют, чтобы тот адрес, который стоит в поле from существовал. То есть вам нужно создать почтовый адрес wordpress@<your_domain> и после этого письма начнут приходить.

Но это был не мой случай. Письма всё-равно не приходили. Более того, страницы подвисали на пару минут в тех местах, где пытались отправить письма. В логах писалось, что скрипт был остановлен по timeout на wp_includes/class_phpmailer.php в строке 879. Смотрим туда:

 

Очевидно, что здесь он проверяет валидность адреса. Просто поставьте перед этой проверкой return true. Если письма начнут приходить, то значит это проблема вашего окружения. По всей видимости, вашей версии php. Попробуйте обновиться. Хотя это не всегда возможно. Либо можно пока оставить return true в этом месте. Но тогда после каждого обновления нужно будет снова это править.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *