Несколько дней бился с проблемой: поисковики mail.ru и gmail.com добавляли рассылку свежих комментов блога в спам. Или вообще отказывались принимать почту:

This message was created automatically by mail delivery software.

A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:

[здесь чья-то почта на mail.ru/bk.ru/inbox.ru и т.д.]
SMTP error from remote mail server after end of data:
host mxs.mail.ru [217.69.139.150]: 550 Message was not accepted — it contains invalid headers. More specially, ‘From:’ header must match user you are sending mail from. See http://help.mail.ru/mail-help/mailer/popsmtp for details.

—— This is a copy of the message, including all the headers. ——

Return-path: <здесь моя почта на мэйл.ру>
Received: from user by Мой сайт with local (Exim 4.80.1)
(envelope-from <здесь моя почта на мэйл.ру>)
id 1WmATO-0005tU-EA
for [здесь чья-то почта на mail.ru/bk.ru/inbox.ru и т.д.]; Mon, 19 May 2014 03:26:30 +0400

Копался я, копался, 1) в настройках ISP-панели всё пересмотрел; 2) в настройках блога, 3) в админке — ну везде стоит моя почта@сайт.ру, а не моя почта на мэйл.ру, а ведь именно из-за неё мэйл.ру говорит, типа «слышь, парниша, а че ты ставишь адрес отправителя мэйловский, а письмо шлешь со своего сервака?»

Это типа защита их такая, от спама. Гугл мне как-то поверил на слово, перестал отказами заваливать, а с мэйлом пришлось покопаться. Решением стал плагин WP Mail SMTP. Настройки поставил простые:

emailНиже ничего не настраивал.

И всё вернулось на круги своя, рассылки всем доходят.

Как говорят в интернете…

Плагин поможет, если у вас не получается использовать функцию mail() встроенную в php. Это может быть из-за ошибок в настройке хостинга или из-за ограничения прав.

Ну вот скрипт и исправил какой-то косяк.