Есть ли способ добавить в белый список и адрес или домен в helo_restrictions Postfix?
Я использую постфикс helo_restrictions, чтобы занести в черный список некоторые склоняющиеся к спаму домены. Одним из них является служба, которая предоставляет почтовую службу людям, которые хотят получать адреса электронной почты со своими доменами, но не хотят запускать почтовый сервер. Я блокирую этот сервис в моем файле check_helo_access:
domainemailsvc.net ОТКАЗАТЬ Нет спама, пожалуйста.
Но, к сожалению, несколько человек отправляют законную почту через тот же сервис. Должен ли я просто удалить эту строку из check_helo_access и надеяться, что spamassassin выполнит свою работу или есть способ внести в белый список эти конкретные адреса электронной почты или поддоменов?
Пример записи файла журнала для сообщения от моего друга (tom@tomsdomain.com):
Sep 16 11:27:41 myserver postfix/smtpd[19223]: NOQUEUE: reject: RCPT from
bosmailout01.domainemailsvc.net[xx.xx.xx.xx]: 554 5.7.1
<bosmailout01.domainemailsvc.net>: Helo command rejected: No spam please.;
from=<FSD0=AFyHhv=3K=tomsdomain.com=tom@domainemailsvc.net>
to=<lido@myserver.com> proto=ESMTP helo=<bosmailout01.domainemailsvc.net>
Я попытался добавить следующее в мой файл check_helo_access:
tomsdomain.com OK
tom@domainemailsvc.net OK
... но это не похоже на работу.
2 ответа
Спасибо @malcolmpdx за указание в правильном направлении. Sender_access - это то, как я смог сделать это с помощью некоторого базового регулярного выражения:
в main.cf:
smtpd_sender_restrictions = check_sender_access pcre:/etc/postfix/sender_access
в sender_access:
/^.*=tom@domainemailsvc.net$/ OK
/^.*domainemailsvc.net$/ REJECT
SMTP-команда EHLO/HELO (именно над этим работает материал check_helo_access) имеет только имя хоста в качестве данных, поэтому это все, с чем может работать этот конкретный фильтр. Таким образом, вы не можете использовать файл check_helo_access для разрешения определенных отправителей с имени хоста / домена, который вы блокируете с ним.
Вы должны, если вы хотите получать почту от определенных пользователей в этом домене, разрешите это с помощью check_helo_access.
Тогда вы можете использовать, если я помню, sender_access, чтобы разрешить определенные адреса и заблокировать все остальное в этом домене.
Хороший способ думать об этих проверках в postfix заключается в том, что каждая из них работает с определенной частью SMTP-диалога, который, в свою очередь, содержит конкретные данные. Домен вступает в игру с HELO. RCPT TO включает локальный адрес для доставки. MAIL FROM включает адрес отправителя. И так далее. Определите, какую часть SMTP-диалога вы хотите фильтровать, и затем используйте проверку Postfix, связанную с ним.