FreeBSD, сервер используется под www, ну и есть всего пару ящиков, поэтому особо с почтовиком не заморачивался, оставил Sendmail, прописал юзера в /etc/mail/virtusertable и все.Начал получать нежелательные письма. В заголовках писем есть строчка:
Received: from [1.2.3.4]
1.2.3 - всегда постоянно.Как сказать сендмейлу, что если в заголовке письма есть IP 1.2.3.*, то адресату надо отправить отлуп, что мол ваше письмо не получено
>FreeBSD, сервер используется под www, ну и есть всего пару ящиков, поэтому
>особо с почтовиком не заморачивался, оставил Sendmail, прописал юзера в /etc/mail/virtusertable
>и все.
>
>Начал получать нежелательные письма. В заголовках писем есть строчка:
>Received: from [1.2.3.4]
>1.2.3 - всегда постоянно.
>
>Как сказать сендмейлу, что если в заголовке письма есть IP 1.2.3.*, то
>адресату надо отправить отлуп, что мол ваше письмо не получено
# cat /etc/mail/access.sample
# $FreeBSD: src/etc/mail/access.sample,v 1.3 2000/11/02 23:40:40 dirk Exp $
#
# Mail relay access control list. Default is to reject mail unless the
# destination is local, or listed in /etc/mail/local-host-names
#
cyberspammer.com 550 We don't accept mail from spammers
FREE.STEALTH.MAILER@ 550 We don't accept mail from spammers
another.source.of.spam REJECT
okay.cyberspammer.com OK
128.32 RELAY
Правишь этот файл типа1.2.3 REJECT
Или можешь вместо REJECT сообщение об ошибке поставить (см.выше).
Потом пишешьmakemap hash /etc/mail/accesstable < /etc/mail/access.sample
где
hash - тип файла (задается в sendmail.cf)
/etc/mail/accesstable - путь к файлу "отлупов" (задается в sendmail.cf)
/etc/mail/access.sample - путь к исходному текстовому файлуВообще это одна из самых стандартных фич в sendmail.
Успеха
Если бы все так было просто...
Это не то. Такое правило создаст запрет на отправку с IP 1.2.3.* через мой smtp
У меня другая задача.
>Если бы все так было просто...
>Это не то. Такое правило создаст запрет на отправку с IP 1.2.3.*
>через мой smtpНе на отправку, а на прием с данного IP. Т.е. сервер вообще брать не будет, ну и код ошибки самому можно описать.
Если все-же надо принимать, то для обработки используйте procmail
> Не на отправку, а на прием с данного IP. Т.е. сервер
>вообще брать не будет, ну и код ошибки самому можно описать.
>Есть сервер serv.my_domen.ru
Есть мыло mail@my_domen.ru
Есть я на IP 1.2.3.4Если прописать в access запрет
1.2.3.4 REJECT
то сидя на 1.2.3.4 и указав в качестве smtp сервер serv.domen.ru я не могу отправить письмо - реджектит (это я и подразумевал под отправкой. Да, можно сказать, что на прием с данного IP для отправки через сервер serv.my_domen.ru не работает).Но доставить письмо на сервер получается.
Сижу на 1.2.3.4, шлю через smtp провайдера письмо на mail@my_domen.ru и оно благополучно кладется в ящик на сервере serv.my_domen.ruВ заголовках
Return-Path: <откуда>
Received: from сервер_провайдера (сервер_провайдера [ip_провайдера])
by ........
Received: from [1.2.3.4] ([1.2.3.4])
by сервер_провайдера ......
.............
Таким образом, для человека, сидящего на 1.2.3.4 запрет на прием писем ко мне на сервер сделать не получается.
Перед тем как написать сюда это было проверено.
Запрет с access не работает, поэтому и спрашиваю, какие есть решения.
>
>> Не на отправку, а на прием с данного IP. Т.е. сервер
>>вообще брать не будет, ну и код ошибки самому можно описать.
>>
>
>Есть сервер serv.my_domen.ru
>Есть мыло mail@my_domen.ru
>Есть я на IP 1.2.3.4
>
>Если прописать в access запрет
>1.2.3.4 REJECT
>то сидя на 1.2.3.4 и указав в качестве smtp сервер serv.domen.ru я
>не могу отправить письмо - реджектит (это я и подразумевал под
>отправкой. Да, можно сказать, что на прием с данного IP для
>отправки через сервер serv.my_domen.ru не работает).
>
>Но доставить письмо на сервер получается.
>Сижу на 1.2.3.4, шлю через smtp провайдера письмо на mail@my_domen.ru и оно
>благополучно кладется в ящик на сервере serv.my_domen.ru
>
>В заголовках
>
>Return-Path: <откуда>
>Received: from сервер_провайдера (сервер_провайдера [ip_провайдера])
> by ........
>Received: from [1.2.3.4] ([1.2.3.4])
> by сервер_провайдера ......
>.............
>
>
>Таким образом, для человека, сидящего на 1.2.3.4 запрет на прием писем ко
>мне на сервер сделать не получается.
>Перед тем как написать сюда это было проверено.
>Запрет с access не работает, поэтому и спрашиваю, какие есть решения.о блин, кто-нить, что-нить поняув? я, мне, сервер... полный Ёперный театр... -
"постановка задачи" называется :(
>о блин, кто-нить, что-нить поняув? я, мне, сервер... полный Ёперный театр... -
>"постановка задачи" называется :(Задача куда более ясно поставлена. Если не знаете ответа, зачем флудить. :-(
>>о блин, кто-нить, что-нить поняув? я, мне, сервер... полный Ёперный театр... -
>>"постановка задачи" называется :(
>
>Задача куда более ясно поставлена. Если не знаете ответа, зачем флудить. :-(
>флудить - это вы о своей почтановке задачи? ;)
ответ в документации sendmail'а, точней в /path/sendail_sources/cf/README
>
>ответ в документации sendmail'а, точней в /path/sendail_sources/cf/README
Универсальный ответ, когда нечего сказать ;)
>
>>
>>ответ в документации sendmail'а, точней в /path/sendail_sources/cf/README
>
>
>Универсальный ответ, когда нечего сказать ;)это ПРАВИЛЬНЫЙ ответ, особенно когда технический специалист НЕ ПОНИМАЕТ принципа
действия агрегата.
lavr, если не секрет скажите, sendmail вообще умеет такое (без милтера)?
>lavr, если не секрет скажите, sendmail вообще умеет такое (без милтера)?если б я еще знал что есть "такое", написано было кириллицей, но понять смысл тИжяло и
перечитывать не хочется.
Я оригинальный вопрос понял так:
Как заставить sendmail блокировать письма имеющие определенный "Received:" в заголовке.
>Я оригинальный вопрос понял так:
>Как заставить sendmail блокировать письма имеющие определенный "Received:" в заголовке.Откройте же наконец указанный lavr'ом файл README.
Там есть раздел "Header Checks", в котором ВСЕ написано.
>Откройте же наконец указанный lavr'ом файл README.
>Там есть раздел "Header Checks", в котором ВСЕ написано.
Лень
Так и надо было сразу писать.Есть два действенных решения.
1) Мой милтер умеет это делать. Если интересно, могу выслать.
2) Есть способ, описанный в соответствующем README,
в разделе "Header Checks".По п.2. Коротко.
Добавляешь в sendmail.cf после строки LOCAL_CONFIG
HReceived: $>CheckReceivedHdrСоответственно прописываешь правило в разделе LOCAL_RULESETS
SCheckReceivedHdr
Rчего_нужно_остальным $@ OK
Rчего_тебе_надо $#error $: 553 Header ErrorУспеха.