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

Исходное сообщение
"postfix: вопрос по *_restrictions"

Отправлено resu , 20-Мрт-06 18:42 
есть такая проблема:
моему серваку шлет письма один агент (ПО) работающий на машине в другой организации, в которой есть внутренний домен, который не известен в инете.
отправител подписывает письмо так: agent_name@FQDN
(MAIL FROM: agent_name@machine.local.domain)
письмо проходит через SMTP-сервер, который не маскирует ето письмо.

мой сервер говорит (и правильно): REJECT: Sender address rejected:

повлиять на отправителя (или проходной сервер) я не могу, а получить письмо - надо.

поетому я хотелбы знать что делают в таких случаях?

(я думаю, может сделать таблицу разрешенных отправителей, но как сказать, что она должна быть опрошена, только если получатель - мой домен? тут я не знаю чем лучше оперировать IP-адресом сервера (включить его в mynetworks, наверное, не лучший выбор) или адресом отправителя)

спасибо


Содержание

Сообщения в этом обсуждении
"postfix: вопрос по *_restrictions"
Отправлено _KAV_ , 20-Мрт-06 18:51 
http://www.opennet.me/openforum/vsluhforumID1/64953.html
только с точностью до наоборот -
в smtpd_sender_restrictions включаем check_sender, а на нужный емейл даем accept

"postfix: вопрос по *_restrictions"
Отправлено resu , 20-Мрт-06 22:13 
спасибо! работает, но есть одна непонятка.
вот что у меня получилось:
main.cf:
smtpd_sender_restrictions =
     check_sender_access       pgsql:pgsql/check_sender_access.cf,
     reject_unknown_sender_domain

pgsql/check_sender_access.cf:
  query  = select check_sender( '%s', 'OK' )

check_sender - возвращает "ACCEPT" если адрес помечен как ХОРОШИЙ, "REJECT" - если адрес помечен как ПЛОХОЙ и второй параметр если адрес не найден (или "DEFER" если второй параметр не определен - так я определил в функции).
как мне казалось получив DEFER из функции "check_sender" postfix должен, перейти к действию "reject_unknown_sender_domain" и если домен действительно не существует, то -REJECT.
вопряки моим ожиданиям сервер отвергал любые домены (Sender address rejected: Try again later;) пока я не сменил политику по умолчанию с NULL (не определен) на "Ok".
и в результаке я мог закинуть такое письмо:

telnet my_serv 25
ehlo i
mail from: <jjjhhgk@234.ru>
rcpt to: <i.am@mydomain.ru>
data
subject: you have spam
.
quit

теперь вопрос как ето блокиревать на стадии MAIL FROM: <xzy@1-2-3-xzy.ru>?


"postfix: вопрос по *_restrictions"
Отправлено _KAV_ , 21-Мрт-06 10:36 
Если не найдено, то ничего возвращать не нужно - тогда перейдет к следующему правилу

"postfix: вопрос по *_restrictions"
Отправлено resu , 21-Мрт-06 12:12 
>Если не найдено, то ничего возвращать не нужно - тогда перейдет к
>следующему правилу

точно. все так и есть. спасибо.