[Карта]
[Начало]
[Sendmail-ссылки]
[Синтаксис]
[Типовые задачки]
[SendmailACL]
[Spamooborona]
[Тонкости]
[Недок.особен.]
[Несущ.юзеры]
[ТП.Эмоции]
Неработающие решения
17.Как заблокировать письма, посылаемые на определенный relay (блокировка по MX-домену получателя)
Предположим, вы заблокировали прием почты с домена outblaze.com.
Спамеры не унимаются, и вы продолжаете получать почту с другими доменами в обратном адресе, но с
relay-ев, которые резолвятся как something.outblaze.com. Вы закрываете эти IP файрволлом, и теперь уже начинаете получать сообщения от MAILER-DAEMON
о невозможности доставки почты .
И это понятно: спамер прислал на несуществующий адрес письмо с поддельным обратным адресом, в доменной части которого проставлен домен, MX-запись которого совпадает с заблокированным вами IP.
Почтовик не может до него достучаться, чтобы вернуть отлуп о несуществующем пользователе, в итоге имеем сообщение "Connection is timed out" в почтовом ящике Постмастера.
Таких сообщений за день может упасть в почтовый ящик Постмастера предостаточно.
Тут ничего не остается поделать, кроме как воспользоваться макросом {rcpt_host} (хост из определённой триады из адеса данного для команды SMTP RCPT. Определяется только в SMTP-сервере.) и отправить такое сообщение в discard.
SLocal_check_rcpt
R$* $:$&{rcpt_host}
#Если почта локальная, то этот макрос будет пустой.
R$* outblaze . com $#discard
Обращаю внимание на то, что здесь отлуп дается вашей локальной почтовой системе, а не удаленному почтовому серверу.
Возможно, при приеме почты можно проверить, не является ли для домена отправителя mx-ом некий хост something.outblaze.com.
В этом случае письмо не будет приниматься , а отлуп произойдет на этапе smtp-диалога, но я пока не знаю, как это сделать.
Решено здесь.