Мои пользователи отправляют электронную почту с SMTP AUTH через аутентификацию SASL. К сожалению, их письма были помечены как NoBounceOpenRelay
пользователя Amavis.
Итак, я установил postfix main.cf
smtpd_sasl_authenticated_header = yes
Можно ли сказать, что amavis проверяет этот заголовок электронной почты, чтобы я мог использовать policy_bank
к подпрыгивать или отвергать письма, содержащие спам?
Похоже, ваш случай был похож на этот пример случая в документации Amavisd
Если по какой-то причине пользователи SASL подключаются к порту 25, в качестве альтернативного метода вы могли бы, чтобы все клиенты в Postfix '$ mynetworks и отправители SASL auth обходили проверки и позволяли всему остальному проходить через catchall, который устанавливает content_filter.
#main.cf
content_filter = smtp-amavis:[127.0.0.1]:10026
smtpd_data_restrictions =
reject_unauth_pipelining
permit_mynetworks
permit_sasl_authenticated
check_client_access regexp:/etc/postfix/filter-catchall.regexp
# /etc/postfix/filter-catchall.regexp:
/^/ FILTER smtp-amavis:[127.0.0.1]:10024
В этом режиме
permit_sasl_authenticated
так что это попадет в content_filter
параметр т.е. content_filter = smtp-amavis:[127.0.0.1]:10026
. check_client_access regexp:/etc/postfix/filter-catchall.regexp
. Итак, он пройдет через smtp-amavis: [127.0.0.1]: 10024.Последняя часть - настройка отдельного банка политик в портах 10024 и 10026.
Вышеуказанные настройки могут быть расширены, чтобы разрешить внесение в белый список на основе других факторов, например: имя пользователя SASL и домен отправителя.
Для имени пользователя SASL вы можете использовать check_sasl_access до разрешения_sasl_authenticated. Примечание: эта функция была доступна в Postfix 2.11 и новее.
# main.cf
...
check_sasl_access hash:/etc/postfix/amavis-bypass-sasl
permit_sasl_authenticated
...
#/etc/postfix/amavis-bypass-sasl
# Use this when smtpd_sasl_local_domain is empty.
username FILTER smtp-amavis:[127.0.0.1]:10026
# Use this when smtpd_sasl_local_domain=example.com.
username@example.com FILTER smtp-amavis:[127.0.0.1]:10026
Для домена отправителя вы можете использовать check_sender_access
# main.cf
...
check_sender_access hash:/etc/postfix/amavis-bypass-sender
permit_sasl_authenticated
...
#/etc/postfix/amavis-bypass-sasl
# Use this when smtpd_sasl_local_domain is empty.
internal.example.com FILTER smtp-amavis:[127.0.0.1]:10026
# Use this when smtpd_sasl_local_domain=example.com.
whitelist.example.org FILTER smtp-amavis:[127.0.0.1]:10026