Хочу приделать к postfix'у на mx-ах нашей конторы локальный черный список IP.
Нужно чтобы в режектовом ответе содержалась строчка типа
Our blacklist says that you are spammer. Check http://bl.firma.ru/?ip=111.222.222.111
Вопрос заключается в следующем - откуда брать этот ip адрес. Какая переменная его содержит ? Есть вообще список возможных переменных ?
Заранее спасибо, коллеги !
Если я не ошибаюсь, то в rbldnsd адрес из запроса в переменной $ (один доллар). Т.е.
Our blacklist says that you are spammer. Check http://bl.firma.ru/?ip=$
Это зависит от того как вы собираетесь реализовать свой черный список. Если это будет сделанно на таблицах postfix'а, то такие подстановки возможны только для pcre/regexp/tcp. Если через свою rbl, то либо как сказал jonatan используйте rbldnsd, либо любой другой dnd сервер и читайте про "default_rbl_reply" и "rbl_reply_maps" в доках postfix.
Я собираюсь делать все на таблице постфикса.
В smtpd_client_restrictions будет прописана табличка mysql в которой будут ip адреса smtp серверов. С ней и будут производиться манипуляции.
(Я не хочу использовать никакой дополнительный софт кроме постфикса и собственно СУБД).
Как раз смысл в том, как сделать так если ip адрес смтп сервера совпадает с указанным в этой таблице то чтоб выдался отлуп содержащий ссылку включающую этот ip.
С mysql такие подстановки не возможны. Вам надо либо использовать дополнительный софт, либо внести полный текст сообщения в базу данных для каждого блокированног адреса.
>С mysql такие подстановки не возможны. Вам надо либо использовать >дополнительный софт,
>либо внести полный текст сообщения в базу данных для каждого >блокированног
>адреса.Ок.
Я готов внести в базу полный текст сообщения для каждого адреса. (это несложно, вдобавок он может сам ip содержать).
Буду разбираться ;)