Мы используем Postfix с Dovecot и SASL Auth через Dovecot (на основе этот руководство). Все работает как положено. Но когда Dovecot не работает (например, для обслуживания или по другим причинам), клиенты не могут аутентифицироваться в Postfix, и Postfix отклоняет запросы клиентов из-за smtpd_recipient_restrictions
которые следуют после permit_sasl_authenticated
.
Есть ли способы временно отклонять почту, приходящую на Postfix, когда Dovecot auth не работает? Наш postfix conf:
smtpd_restriction_classes = check_sender_auth
check_sender_auth =
reject_authenticated_sender_login_mismatch,
permit_sasl_authenticated,
reject
smtpd_recipient_restrictions =
reject_invalid_helo_hostname,
reject_non_fqdn_recipient,
check_sender_access mysql:/etc/postfix/check_sender_domains,
reject_non_fqdn_helo_hostname,
[...]
check_sender_domains
таблица поиска, которая возвращает check_sender_auth
для адреса отправителя, утверждающего, что он принадлежит нам.
Вы можете изменить reject_code для слушателя отправки на 450, так что это не постоянный отказ, а отсрочка.
check_sender_auth =
defer_if_reject
reject_authenticated_sender_login_mismatch,
permit_sasl_authenticated,
reject
Видеть http://www.postfix.org/postconf.5.html#defer_if_reject для подробностей.
К сожалению, это непросто обновить, когда «голубятня выходит из строя», что, признаюсь, озадачило меня; Зачем голубятня падает?
Если вы столкнулись с перебоями в обслуживании голубятни, вам следует приложить усилия, чтобы избежать перебоев в обслуживании голубятни.
Dovecot может довольно хорошо запускать HA; вы можете тривиально запустить вторичный экземпляр только для SASL (без служб IMAP) на другом компьютере.