Назад | Перейти на главную страницу

Как заблокировать адрес электронной почты в Postfix?

Мне нужно заблокировать внешний адрес электронной почты в postfix от отправки мне писем. Это внешний адрес электронной почты стороннего доменного имени, которое я не контролирую.

Причина, по которой мне нужно заблокировать его, заключается в том, что у них что-то неправильно настроено, и я получаю сообщение «Предупреждение, ваше сообщение еще не доставлено» каждую секунду или около того. Я уже связывался с их техподдержкой, но они долго исправляют это, а тем временем мой сервер и мои пользователи страдают.

Я пробовал это делать. В своем mail.cf я добавил:

smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/sender_access, permit

и в / etc / postfix / sender_access я добавил:

mailfilter@iomart.com REJECT

я бегу

postmap hash:sender_access

и перезапустите postfix, но, похоже, это не помогло.

Я также пробовал:

smtpd_recipient_restrictions = check_sender_access hash:/etc/postfix/sender_access

в main.cf, который не работает с этой ошибкой:

postfix/smtpd[2144]: fatal: parameter "smtpd_recipient_restrictions": specify at least one working instance of: check_relay_domains, reject_unauth_destination, reject, defer or defer_if_permit

Пробуем:

smtpd_recipient_restrictions = check_sender_access hash:/etc/postfix/sender_access, permit

дал мне ту же ошибку.

Как отмечает Лауренцио Роеску, smtpd_sender_restrictions должен работай. Только не думаю, что это было задумано. Отправитель - это человек, отправляющий электронные письма с вашего сервера. Не отправитель с другой стороны.

Итак, вы действительно хотели использовать smtpd_recipient_restrictions = check_sender_access ..., но, как упоминалось в документации, это отменяется smtpd_relay_restrictions если вы его используете.

http://www.postfix.org/postconf.5.html#smtpd_recipient_restrictions

Необязательные ограничения, которые SMTP-сервер Postfix применяет в контексте клиентской команды RCPT TO, после smtpd_relay_restrictions. См. SMTPD_ACCESS_README, раздел «Отложенная оценка списков ограничения доступа SMTP» для обсуждения контекста и времени оценки.

В версиях Postfix до 2.10 правила для разрешения ретрансляции и блокировки спама были объединены в smtpd_recipient_restrictions, что приводило к конфигурации, подверженной ошибкам. Начиная с Postfix 2.10, правила разрешения ретрансляции предпочтительно реализуются с помощью smtpd_relay_restrictions, так что разрешающая политика блокировки спама в smtpd_recipient_restrictions больше не будет приводить к разрешающей политике ретрансляции почты.

Для обратной совместимости сайты, которые переходят с версий Postfix до 2.10, могут устанавливать для smtpd_relay_restrictions пустое значение и использовать smtpd_recipient_restrictions точно так же, как и раньше.

Вместо этого вы бы сделали:

smtpd_relay_restrictions = ...
    ...
    check_sender_access hash:/etc/postfix/sender_access
    ...

Таким образом, это должно быть принято во внимание, как и ожидалось. (Символ ... обозначает другие варианты, не забудьте поставить эту галочку в нужное место в списке.)

check_sender_access должно быть после reject_unauth_destination или вы можете стать открытым реле.

smtpd_recipient_restrictions = reject_unauth_destination, check_sender_access hash:/etc/postfix/sender_access

Видеть: http://www.postfix.org/postconf.5.html#smtpd_recipient_restrictions

ВАЖНО: Параметр smtpd_relay_restrictions или smtpd_recipient_restrictions должен указывать хотя бы одно из следующих ограничений. В противном случае Postfix откажется получать почту:

отклонить, reject_unauth_destination

отложить, defer_if_permit, defer_unauth_destination

С другой стороны, используя smtpd_sender_restrictions должен работать, поэтому у вас, вероятно, есть что-то еще перед ним, которое принимает электронное письмо.