По идее это не совсем правильно, вы разве ветку не читаете?)
Тут Cruiser78 оставлял свои правила, там разные проверки, я их не совсем понимаю, но все гуглится. Продублирую их тут на всякий случай:
## Проверки в Postfix идут в следующей последовательности:
## 1. smtpd_client_restrictions (DNS)
## 2. smtpd_helo_restrictions (HELO)
## 3. smtpd_sender_restrictions (MAIL FROM)
## 4. smtpd_relay_restrictions
## 5. smtpd_recipient_restrictions
## 6. smtpd_data_restrictions
## 7. smtpd_end_of_data_restrictions
## Если какое-либо правило в любой из проверок выдает разрешение на письмо,
## то внутри этой проверки правила далее не проверяются.
## Но другие проверки всё равно идут. Но если письмо отклоняешь,
## то далее уже ничего не проверяется.
#########################
smtpd_client_restrictions =
# - разрешить при соединении из моей подсети
permit_mynetworks,
# permit_sasl_authenticated,
# белый список кривых отправителей
check_client_access hash:/etc/postfix/client_white_list,
# белый список кривых отправителей
check_sender_access hash:/etc/postfix/sender_white_list,
# Проверить на динамические хосты, которые есть спамеры
check_client_access regexp:/etc/postfix/client_access_regexp,
# - пауза на 1 секунду для отсекания совсем нетерпеливых спам-хостов (обычно они просто сразу же рвут соединение
# - им нужно разослать как можно больше спама, поэтому ждать им - как серпом...)
sleep 1,
# - отказать в случае, если 1) не удалось сопоставить IP адрес имени хоста (по PTR-записи в DNS),
# 2) не удалось сопоставить имя IP-адресу хоста (прямой запрос DNS),
# 3) адрес, полученный из DNS по имени не совпадает с IP-адресом , с которого идет соединение.
# Отсекается ОЧЕНЬ много спам-хостов (в моем случае - процентов 80)
reject_unknown_client_hostname,
# reject_unknown_reverse_client_hostname,
# Проверить BlackList на spamhaus.org
reject_rbl_client sbl.spamhaus.org,
reject_rbl_client sbl-xbl.spamhaus.org,
reject_rbl_client bl.spamcop.net,
# - отсечь хосты, которые пытаются слать команды в конвейере, даже не проверив, поддерживает ли это наш сервер.
# Это часто делают именно спам-хосты для увеличения скорости передачи
reject_unauth_pipelining,
# - в другом случае продолжать прием
permit
#Проверки на этапе HELO/EHLO
smtpd_helo_restrictions = permit_mynetworks,
# Проверяем SPF.
check_policy_service unix:private/spf,
# - разрешить при аутентификации (пользователи)
#### permit_sasl_authenticated,
# "Белый Список" должен быть впереди остальных проверок
# белый список кривых отправителей
check_client_access hash:/etc/postfix/client_white_list,
check_sender_access hash:/etc/postfix/sender_white_list,
# отсекаем приветствия отправителя от моего имени
# а также прописываем разрешения для "продвинутых"
check_helo_access hash:/etc/postfix/helo_checks,
# отсекаем тех, кто представляется ИП-адресом.
# это явное нарушение RFC, но практика показала, что это один из явных
# признаков спама.
check_helo_access regexp:/etc/postfix/helo_regexp,
# - отказать при нарушении синтаксиса имени хоста в HELO
#(случается очень редко, тем не менее...)
reject_invalid_hostname,
# - отказать, если имя хоста в HELO не в полной форме
#(не должно быть просто server, а должно быть типа server.domain.ltd)
reject_non_fqdn_hostname,
# - отказать, если у хоста, указанного в команде HELO,
# в DNS нет записи типа MX или A (множество зобми-хостов)
reject_unknown_hostname,
# - в другом случае продолжать прием
permit
#Проверки на этапе MAIL FROM
smtpd_sender_restrictions =
# включаем проверки для отправителей из @alma.ru (Только из mynetwork)
check_sender_access hash:/etc/postfix/access_sender,
# белый список кривых отправителей
check_sender_access hash:/etc/postfix/sender_white_list,
# белый список кривых отправителей
check_client_access hash:/etc/postfix/client_white_list,
# - разрешить при аутентификации (пользователи)
### permit_sasl_authenticated,
# - отказать, если имя отправителя не в полной форме
# (должно быть не name или name@domain а name@domain.ltd)
reject_non_fqdn_sender,
reject_authenticated_sender_login_mismatch,
reject_unauthenticated_sender_login_mismatch,
# - отказать, если наш сервер не является "родным" для отправителя
# и домен отправителя не имеет в DNS записи MX или A, или если он
# имеет неверную запись MX (например, пустую)
reject_unknown_sender_domain,
# Проверка завязана на команде VRFY, которая может быть запрещена
## reject_unverified_sender,
permit
smtpd_relay_restrictions = permit_mynetworks,
# permit_sasl_authenticated,
defer_unauth_destination
permit
# ограничения, проверяемые на этапе RCPT TO:
smtpd_recipient_restrictions =
# - отказать, если имя получателя не в полной форме (должно быть не name или name@domain а name@domain.ltd)
reject_non_fqdn_recipient,
# - отказать, если мы не являемся "родным" сервером для получателя и домен получателя не имеет
# в DNS записи MX или A, или если он имеет неверную запись MX (например, пустую)
reject_unknown_recipient_domain,
# Направляем исходящую почту на DKIM-подписание
check_client_access cidr:/etc/postfix/originating.cidr,
# мы можем посылать куда угодно
permit_mynetworks,
# permit_sasl_authenticated,
# - отказать, если домен-адресат: 1) не перечислен в списке доменов, для которых мы форвардим почту
# ($relay_domains) и не содержит команд переадресации (типа user@another@domain);
# 2) не является "нашим" (т.е. не перечислен в списках $mydestination,
# $inet_interfaces, $proxy_interfaces, $virtual_alias_domains, или
# $virtual_mailbox_domains ) и не содержит команд переадресации
# (типа user@another@domain).
# Это - традиционные правила, чтобы наш сервер не служил т.н. Open Relay, через который спамеры
# рассылают почту третьим лицам.
reject_unauth_destination,
# Получать почту на postmaster и abuse
check_recipient_access hash:/etc/mail/postfix/roleaccount_exceptions
# Greylist:
check_policy_service inet:127.0.0.1:10030,
permit
smtpd_data_restrictions =
permit_mynetworks,
# permit_sasl_authenticated,
check_client_access regexp:/etc/postfix/add_auth_header.regexp,
# Если письмо для многих получателей, но нет хотя бы одного в нашнй базе, то отказать
# Получать почту на postmaster и abuse
check_recipient_access hash:/etc/mail/postfix/roleaccount_exceptions
reject_unlisted_recipient,
permit
smtpd_end_of_data_restrictions =
permit_mynetworks,
# permit_sasl_authenticated,
# Получать почту на postmaster и abuse
check_recipient_access hash:/etc/mail/postfix/roleaccount_exceptions
reject_unlisted_recipient,
# Отклоняем письма с нулевым отправителем (Bounce), у которых более одного получателя
reject_multi_recipient_bounce,
permit
Не правильно поставленные правила могут создавать проблемы с почтой.
И вот еще мои, возможно корявые правила, но они работают:
smtpd_restriction_classes = OnlyFromMyUsers
OnlyFromMyUsers = permit_mynetworks,
permit_sasl_authenticated,
reject
smtpd_recipient_restrictions = permit_mynetworks,
permit_sasl_authenticated,
reject_authenticated_sender_login_mismatch,
check_helo_access hash:/etc/postfix/helo_checks,
check_helo_access pcre:/etc/postfix/helo_checks.pcre,
check_recipient_access pcre:/etc/postfix/recipient_checks.pcre,
reject_unauth_destination,
check_policy_service unix:/var/spool/postfix/postgrey/socket,
permit_tls_clientcerts,
reject_non_fqdn_recipient,
reject_unauthenticated_sender_login_mismatch,
reject_invalid_hostname,
reject_unknown_recipient_domain,
reject_unknown_client,
reject_unlisted_recipient,
reject_unverified_recipient,
reject_unauth_pipelining,
reject_rbl_client cbl.abuseat.org,
reject_rbl_client dialups.mail-abuse.org,
reject_rbl_client bl.spamcop.net,
reject_rbl_client zen.spamhaus.org,
reject_rbl_client sbl-xbl.spamhaus.org,
permit
smtpd_client_restrictions =
reject_unauth_pipelining,
permit_sasl_authenticated,
permit_mynetworks,
check_sender_access hash:/etc/postfix/whitelist,
check_sender_access hash:/etc/postfix/blacklist,
reject_unknown_client_hostname,
permit
smtpd_helo_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
check_client_access hash:/etc/postfix/whitelist,
check_sender_access hash:/etc/postfix/whitelist,
check_client_access hash:/etc/postfix/blacklist,
check_sender_access hash:/etc/postfix/blacklist,
reject_invalid_hostname,
reject_invalid_helo_hostname,
reject_unknown_hostname,
reject_non_fqdn_helo_hostname,
permit
smtpd_sender_restrictions =
check_sender_access hash:/etc/postfix/access_sender,
reject_authenticated_sender_login_mismatch,
reject_unauthenticated_sender_login_mismatch,
permit_sasl_authenticated,
check_sender_access hash:/etc/postfix/whitelist,
check_sender_access hash:/etc/postfix/blacklist,
reject_sender_login_mismatch
reject_non_fqdn_sender,
reject_unknown_sender_domain,
permit
Грейлистинг можно отключить, так как иногда возникают проблемы с ним.
Хотя эти случаи очень редки, например у меня проблема была с посольством Англии, письма от них не доходили.
Вот тоже вроде полезные настройки:
strict_rfc821_envelopes = yes
disable_vrfy_command = yes
smtpd_delay_reject = yes
smtpd_helo_required = yes
smtpd_discard_ehlo_keywords = etrn, silent-discard
smtpd_forbidden_commands = CONNECT GET POST
broken_sasl_auth_clients = yes
address_verify_sender = $double_bounce_sender