есть такая проблема:
моему серваку шлет письма один агент (ПО) работающий на машине в другой организации, в которой есть внутренний домен, который не известен в инете.
отправител подписывает письмо так: agent_name@FQDN
(MAIL FROM: agent_name@machine.local.domain)
письмо проходит через SMTP-сервер, который не маскирует ето письмо.мой сервер говорит (и правильно): REJECT: Sender address rejected:
повлиять на отправителя (или проходной сервер) я не могу, а получить письмо - надо.
поетому я хотелбы знать что делают в таких случаях?
(я думаю, может сделать таблицу разрешенных отправителей, но как сказать, что она должна быть опрошена, только если получатель - мой домен? тут я не знаю чем лучше оперировать IP-адресом сервера (включить его в mynetworks, наверное, не лучший выбор) или адресом отправителя)
спасибо
http://www.opennet.me/openforum/vsluhforumID1/64953.html
только с точностью до наоборот -
в smtpd_sender_restrictions включаем check_sender, а на нужный емейл даем accept
спасибо! работает, но есть одна непонятка.
вот что у меня получилось:
main.cf:
smtpd_sender_restrictions =
check_sender_access pgsql:pgsql/check_sender_access.cf,
reject_unknown_sender_domainpgsql/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>?
Если не найдено, то ничего возвращать не нужно - тогда перейдет к следующему правилу
>Если не найдено, то ничего возвращать не нужно - тогда перейдет к
>следующему правилуточно. все так и есть. спасибо.