Мой сервер CentOS настроен только для исходящей почты. Мне нужен фильтр, чтобы отклонять письма, нацеленные на выбранные места назначения. Например, если я тестирую с
> mail -s "test" spam@trash.com
Я хочу, чтобы это было отклонено, а не отправлено. Я исследовал
smtpd_recipient_restrictions
flag [и другие], но мне не удалось заставить это работать. Журналы по-прежнему показывают, что письмо было отправлено и удалено из очереди.
В файле main.cf и в smtpd_recipient_restrictions у меня есть:
> check_sender_access hash:/etc/postfix/maps/access_sender
где я например
@trash.com REJECT
Я хочу добавить, что этот сервер ретранслирует почту другому, но я надеюсь, что смогу отфильтровать нежелательные письма перед ретрансляцией на хост. Пожалуйста помоги. Спасибо
В check_sender_access
опция применяется только к адресу «От». Чтобы выполнить фильтрацию на основе адреса «Кому», вы можете сделать это одним из двух способов.
Если вы хотите отфильтровать только адрес «Кому», просто измените check_sender_access
к check_recipient_access
и сохраните текущий хэш-файл.
Более расширяемый способ фильтрации - по заголовкам. Добавьте в свой main.cf
файл:
header_checks = regexp:/etc/postfix/header_checks
Затем создайте следующий файл в /etc/postfix/header_checks
:
/^To:.*address1@example.com.*$/ DISCARD blocked
/^To:.*address2@example.com.*$/ DISCARD blocked
/^To:.*address3@example.com.*$/ DISCARD blocked
/^To:.*address4@example.com.*$/ DISCARD blocked
И перезапустите Postfix.
Заметка - DISCARD
будет по-прежнему отображаться для отправки сообщения, но сообщение будет отброшено без уведомления. Если вы хотите, чтобы сообщение было возвращено, используйте REJECT
.
Справочная документация:
http://www.postfix.org/postconf.5.html#smtpd_recipient_restrictions http://www.postfix.org/header_checks.5.html