Хостинги отменяют from?

econaft

Проверенные
Сообщения
880
Реакции
79
Баллы
5,530
Мой хостинг запретил отправлять с сайта поле "from".
Это когда отравитель с сайта вводит свой мэйл в поле ввода мэйла и мэйл подставляется в "from".

Его ответ:
Подделка адреса отправителя в заголовке From - достаточно распространённая среди спамеров практика, и от неё нужно отказываться в современном мире.

Дело в том, что всё больше публичных почтовых систем начинают проверку SPF и DMARC для входящих сообщений, и в случае отправки писем с поддельными заголовками From не принимают их, при большом количестве таких писем создаётся угроза попадания наших IP-адресов в чёрные списки. Именно поэтому мы и производим замену адреса в поле From, если они принадлежит одной из популярных почтовых систем.

Допустим, в письме указан в качестве From адрес [email protected]. То есть письмо отправлено с сервера mail.ru, но... По факту письмо отправляется скриптом с Вашего сайта, т. е. с IP-адресов Хостера, никакого отношения к сервисам mail.ru не имеющим.

И, например, если получателем такого письма тоже будет адресат в mail.ru, то он письма не получит, т. к. mail.ru попросту не примет такое письмо из-за наличия поддельного заголовка From.

При отправке почты в поле From нужно указывать реально существующий на серверах, с которых производится отправка, адрес электронной почты. Это гарантирует отсутствие проблем. Это универсальный совет для всех хостинг-провайдеров.

Это действительно сейчас все хотинги делают? Или один мой такой умный?
 
Это делает только твой хостинг и не носит массовый характер, возможно есть чего бояться им.
 
Вообще хорошая практика, если бы все настраивали свои сервера аналогичным образом, спама было бы в разы меньше. О чем идет речь, переведу на русский. Хостинг не запрещает поле from, хостинг требует отправку с работающего у него (хостера) почтового домена. Если почтовый сервер видит что в поле from (т.е. от кого) указан почтовый домен, который этот сервер не обслуживает, такое письмо уходит в /dev/null. Было бы странно, когда с почтового домена @васяпупкин вылетают письма от [email protected]. Такое письмо 100% упадет в спам, но ip заработает штрафные баллы. Нужно либо отправлять от @васяпупкин, либо используя ключ -f (отправлено через @васяпупкин)
 
Я бы так же сделал (как твой хостер), поэтому у себя smtp вообще не предоставляю :-) Уж слишком это геморрно. Вы то понятно, как пользователи вообще не знаете как оно там.
Да ладно mail ru, сразу от [email protected] :-D
Вот тут кста можно смотреть,
Цисковская тема кстати, я одно время долго заморачивался над рейтингом, быть годами зеленым там, дорогого стоит скажу я вам.
 
Последнее редактирование:
Нужно либо отправлять от @васяпупкин, либо используя ключ -f (отправлено через @васяпупкин)
Как это реализовать?

Код:
<?php
if($_POST['submit']) {
        $to = '[email protected]';
        mail($to, $title, $mess, 'From:'.$from);
}
?>

<form action="" method=post>
              Мэйл<br />
              <input type="text" name="from" size="40"><br />
              Сообщение<br />
              <textarea name="mess" rows="10" cols="40"></textarea>
              <br />
              <input type="submit" value="Отправить" name="submit">
</form>
 
Последнее редактирование:
Сначала накодят говна феерического, а потом им хостер виноват.
И переменные сразу же фильтровать надо, хоть тем же htmlspecialchars
 
Smalesh, это просто пример был.
По вашей ссылке я не понял, в чём особое отличие от приведённого мной примера?
 
в чём особое отличие от приведённого мной примера?
Код:
$headers .= "From: =?UTF-8?B?" . base64_encode('Робот') . "?= <[email protected]>\r\n"; //адрес отправителя
From должен быть действующий почтовый домен (а лучше ящик) на почтовом сервере хостера. From - это не адрес в формочке обратной связи, это адрес, с которого (или через который) отправляется письмо

From. Отправитель сообщения (человек или процесс), указывается адрес почтового ящика или список адресов. Если отсутствует поле Sender, то в поле From обязательно должен быть один адрес. Если поле Sender присутствует в заголовке, то в поле From может быть несколько адресов через запятую (таким образом обозначаются авторы сообщения, реальный отправитель определяется полем Sender).
Многие хостеры сразу указывают -f, как пример
Код:
php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f info@%domain_idn%"
и тогда from можно пропускать при отправке. Ровно с этой же целью и служит опция -f в движке форума, в письме будет как "отправлено через". Но если скрипт пишет поле From, то он должен писать туда адрес отправителя. Все левые с точки зрения почтовика адреса должны прибиваться еще на подлете.
Сам подход
Это когда отравитель с сайта вводит свой мэйл в поле ввода мэйла и мэйл подставляется в "from".
не верен.

Вот почти канонический пример, но я сисадмин, я не программер аж ни разу.

Код:
<?php
if($_POST['submit']) {
        $title = substr(htmlspecialchars(trim($_POST['title'])), 0, 50);
        $mess =  substr(htmlspecialchars(trim($_POST['mess'])), 0, 10000);
        $to = '[email protected]';
        $from='[email protected]';  // $from - от кого, почтовый ящик хостера
        mail($to, $title, $mess, 'From:'.$from);
}
?>
<form action="" method=post>
             Мэйл<br />
             <input type="text" name="title" size="40"><br />
             Сообщение<br />
             <textarea name="mess" rows="10" cols="40"></textarea>
             <br />
             <input type="submit" value="Отправить" name="submit">
</form>
 
Smalesh,
В этом и заключалось удобство сообщенийчер ез сайт, что можно было отвечать, сразу отвечая на сообщение.
Потому что в From вставлялся мэйл оправителя с сайта.
Мне приходило письмо и я просто нажимал на "Ответить" и отвечал.
Теперь же я так не могу делать. Потому что в From меня Хостер обязует вставлять мэйл Хостера, а не отправителя.
 
Мне приходило письмо и я просто нажимал на "Ответить" и отвечал.
Выше цитата
Если поле Sender присутствует в заголовке, то в поле From может быть несколько адресов через запятую (таким образом обозначаются авторы сообщения, реальный отправитель определяется полем Sender).
Там же по ссылке
Sender. Определяет отправителя письма (см. выше описание поля From), указывается адрес почтового ящика. Обязательно, если в поле From указано несколько адресов. Сообщения об ошибках доставки почты посылаются ему (но не ответы на сообщения!).
Но вообще для этих целей сделали
Reply-To. Может содержать список адресов или групп адресов для ответа через запятую. Если присутствует, то ответ на сообщение не должен посылаться по адресу, указанному в поле From или Sender.
 
Последнее редактирование:
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу