URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 39340
[ Назад ]

Исходное сообщение
"sendmail: блокировать письмо по двум условиям"

Отправлено gp , 14-Янв-04 14:38 
Добрый день!
  Никто не  встречался  с  такой  задачей:  разрешить приём почты на определённый ящик только с определённых ip адресов ( фильтрация на этапе SMTP rcpt to: )?
  Я  так понимаю это легко делается стандартными средствами sendmail, вот только  не могу найти рабочего примера...
  Однако, в этом случае не ясно, как быть если этот ящик упоминается например в СС: Может смотреть в сторону milter?
  Поделитесь, кто как решает этот вопрос ;)
  Заранее спасибо.

Содержание

Сообщения в этом обсуждении
"sendmail: блокировать письмо по двум условиям"
Отправлено gp , 15-Янв-04 11:29 
Ну хоть кто-нибудь, ответьте... ;)

"sendmail: блокировать письмо по двум условиям"
Отправлено toor , 15-Янв-04 16:35 
>Ну хоть кто-нибудь, ответьте... ;)

Запросто не получится, надо дописывать свои рулесеты. А таких специалистов не много наберётся.


"sendmail: блокировать письмо по двум условиям"
Отправлено Medlar , 15-Янв-04 17:30 
спроси здесь:
http://groups.google.com/groups?oi=djq&as_ugroup=comp.mail.s...
это должно быть не сложно, но у меня сейчас времени нет совсем на
ваяние соответствующих правил.
Можно посомтреть еще здесь: http://www.sendmail.org/~ca/email/restrict.html (на половину подходит)
и здесь: http://www.spirit.org.ua/sendmail

"sendmail: блокировать письмо по двум условиям"
Отправлено Medlar , 16-Янв-04 13:06 
> разрешить приём почты на определённый ящик только с определённых ip
>адресов ( фильтрация на этапе SMTP rcpt to: )?

Вот еще одна ссылка - почти решение, там как раз разбирается пример check_rcpt (см. пример: как принимать почту только со "своих" доменов) :
http://www.mailinfo.ru/story02/01/09/3747367
Тебе нужно будет определить файл, в котором будут разрешенные ip:
F{IPA}/etc/mail/ipaddr
определить файл, в котором будут юзеры, на которых налагается ограничение:
F{US}/etc/mail/users
изменить R$=R                    $@ OK
на
R$=IPA                    $@ OK
и добавить сюда проверку на этого конкретного юзера-получателя - макрос ;
$&u
Получится что-то подобное (осторожно, не тестировалось и требует доработки!):

LOCAL_RULESETS
SLocal_check_relay

R$*                     $: $&{client_addr} $| $&u
R$=IPA $| $=US             $@ OK

# anything else is bogus
R$*                     $#error $: "550 Relaying Denied"


В общем, если что-нибудь получится, кинь сюда итоговые правила, если не жалко



"sendmail: блокировать письмо по двум условиям"
Отправлено aljil , 16-Янв-04 14:45 
http://smfilter.sourceforge.net
Это конфигурируемый мильтер, в нем можно проверить практически любую информацию в письме, и что важно - можно регистрировать события по анализу различных элементов письма, подключать внешние списки, выполнять различные административные действия (копировать, принять, отвергнуть письмо) по нескольким зарегистрированным событиям. Тем самым можно, например, соорудить авторизатор, учитывающий как отправителя, так и получателя письма, и принять решение пропустить или зареджектить письмо на основе анализа нескольких элементов конверта, заголовков, сабджекта или тела письма.