Или как я избавился от слишком назойливой опеки антиспама на сервере.
Не так давно поднимал вопрос о форме обратной связи для сайта на WordPress [Копия].
Некий анон хотел меня затроллить, но, как обычно, мало того, что написал полнейшую чепуху, которая не работает, так еще и случайно помог вскрыть баг (хотя, скорее опцию) почтового сервера, которая, правда, лично мне мешала.
Ситуация такая: антиспам финского сервера (вполне оправданно, кстати) отправляет в спам письма с доменов .ru (mail.ru и yandex.ru точно), .kz, .by и некоторых не связанных с ГОРФ, типа .tk
Но, со спамом я неплохо справляюсь самостоятельно, и лишняя опека со стороны умной машины мне не нужна. На случай, мало ли у кого возникает аналогичная проблема, вот рецепт:
Находим в скрипте mail.php
строчку:
$mes = "Имя: ".$name."\n\nТема: " .$sub."\n\nСообщение: ".$message."\n\n";
И меняем ее на:
$mes = "Имя: ".$name."\n\nТема: " .$sub."\n\nСообщение: ".$message."\n\n"."E-mail to answer: $email\n\n";
Ниже меняем в строке
$send = mail ($address,$sub,$mes,"Content-type:text/plain; charset = UTF-8\r\nFrom:$email");
$email
на $address
. Должно получиться:
$send = mail ($address,$sub,$mes,"Content-type:text/plain; charset = UTF-8\r\nFrom:$address");
Что этот код делает. Да все просто. Строка с сообщением ($mes
) изменяется так, что адрес, который ввел пользователь в контактной форме, добавляется к тексту сообщения как простой текст. Параметры функции php mail
изменяются так, что в заголовок письма вместо адреса пользователя, добавляется наш собственный адрес для приема сообщений из контактной формы. В результате мы получим сообщение, отправленное с нашего же адреса. Примерно как на скриншоте ниже:

Проблема с антиспамом решилась (сервер проверял только заголовки писем, а не указанные в тексте адреса), единственный минус — не ответить по нажатию соответствующей кнопки в почтовой программе, но тут уж, как говорится, шашечки или ехать.
Другой баг скрипта отправки почты, это то, что довольно легко его использовать автоматически и зафлудить почтовый ящик. Скоро расскажу, как побороть и эту беду.