У меня есть почтовый сервер, на котором размещено много виртуальных доменов.
Владелец одного виртуального домена на этом сервере попросил меня заблокировать почту, приходящую с внешнего домена на его почтовые ящики.
У меня есть эта настройка в моем main.cf
:
smtpd_sender_restrictions = check_sender_access hash:/etc/postfi/sender_check
которые позволяют мне блокировать почту из домена, но если я использую это решение, я блокирую почту, идущую из этого домена отправителя на все домены на сервере, а не только для заинтересованных лиц.
Есть ли какой-нибудь трюк, чтобы сказать postfix, чтобы оценить как домен отправителя, так и домен назначения для фильтрации?
Я могу фильтровать на уровне почтового ящика, но это раздражает и требует очень много времени ...
Вы можете сделать это, используя smtpd_restriction_classes
в main.cf
как это:
smtpd_recipient_restrictions =
...
check_recipient_access hash:/etc/postfix/recipient_access
...
smtpd_restriction_classes = tocustomerx
tocustomerx = check_sender_access hash:/etc/postfix/customer_x_sender_access
В /etc/postfix/recipient_access
поставить примерно так:
dom-customer.com tocustomerx
И в /etc/postfix/customer_x_sender_access
dom-xyz.com REJECT
Это говорит постфиксу, что письма к домену ваших клиентов принадлежат классу tocustomerx
и что для класса он должен проверить /etc/postfix/customer_x_sender_access
для доступа отправителя.
Если вы хотите сделать это, используя только встроенные фильтры Postfix, то это можно сделать, только если вы можете назначить разные публичные IP-адреса серверу postfix.
В таком случае вы можете следовать этому примеру, чтобы получить то, что хотите: Постфикс BUILTIN_FILTER_README
Или вы можете написать внешний фильтр, следуя инструкциям и примерам на Постфикс FILTER_README
С уважением
Паоло Б.