Недавно на моем сайте на хостнгер.ру столкнулся с проблемой: заметил что не отправляться почта, то-есть письмо отправляется, ошибок никаких нет, но письмо уходит в никуда и к адресату не доходит, в то время из phpbb и самописных скриптов все прекрасно работает. Оказывается хостер блокирует отправку почты именно с движка Wordpress, хитрый ход но его можно его обойти. Фильтруют они письма по заголовкам, поэтому достаточно заменить стандартный заголовок на отредактированый и все заработает. Открываем файл wp-includes/class-phpmailer.php, находим функцию mailPassthru, и во всех вызовах функции mail в ней заменяем переменную $header на наш заголовок.
Было:
Стало:
Было:
Код:
...
$rt = @mail($to, $this->encodeHeader($this->secureHeader($subject)), $body, $header);
...
$rt = @mail($to, $this->encodeHeader($this->secureHeader($subject)), $body, $header, $params);
...
Код:
...
$rt = @mail($to, $this->encodeHeader($this->secureHeader($subject)), $body, "From: admin@" . $_SERVER['HTTP_HOST']);
...
$rt = @mail($to, $this->encodeHeader($this->secureHeader($subject)), $body, "From: admin@" . $_SERVER['HTTP_HOST'], $params);
...
Последнее редактирование: