Добрый день!
Никто не встречался с такой задачей: разрешить приём почты на определённый ящик только с определённых ip адресов ( фильтрация на этапе SMTP rcpt to: )?
Я так понимаю это легко делается стандартными средствами sendmail, вот только не могу найти рабочего примера...
Однако, в этом случае не ясно, как быть если этот ящик упоминается например в СС: Может смотреть в сторону milter?
Поделитесь, кто как решает этот вопрос ;)
Заранее спасибо.
Ну хоть кто-нибудь, ответьте... ;)
>Ну хоть кто-нибудь, ответьте... ;)Запросто не получится, надо дописывать свои рулесеты. А таких специалистов не много наберётся.
спроси здесь:
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
> разрешить приём почты на определённый ящик только с определённых 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_relayR$* $: $&{client_addr} $| $&u
R$=IPA $| $=US $@ OK# anything else is bogus
R$* $#error $: "550 Relaying Denied"
В общем, если что-нибудь получится, кинь сюда итоговые правила, если не жалко
http://smfilter.sourceforge.net
Это конфигурируемый мильтер, в нем можно проверить практически любую информацию в письме, и что важно - можно регистрировать события по анализу различных элементов письма, подключать внешние списки, выполнять различные административные действия (копировать, принять, отвергнуть письмо) по нескольким зарегистрированным событиям. Тем самым можно, например, соорудить авторизатор, учитывающий как отправителя, так и получателя письма, и принять решение пропустить или зареджектить письмо на основе анализа нескольких элементов конверта, заголовков, сабджекта или тела письма.