O Postfix fornece várias “verificações” que podem ser avaliadas em diferentes “estágios” da conexão SMTP de entrada. “Cheques” são algo como “ é o cliente remoto autenticado por SASL? ”, “ é o cliente remoto fornecendo um nome de host HELO do FQDN? ”, “ é o cliente remoto solicitando pipelining de SMTP? ”, bem como“ é o cliente remoto na lista negra de alguns RBL? ”ou“ é o cliente remoto conectando de uma de minha sub-rede IP ”?
Essas verificações podem ser avaliadas em diferentes estágios da transação SMTP:
- assim que a conexão TCP é estabelecida ( smtpd_client_restrictions )
- quando o cliente emite um comando "MAIL FROM" ( smtpd_sender_restrictions )
- quando o cliente envia um comando "RCPT TO" ( smtpd_recipient_restrictions )
bem como em outras etapas.
Restrições / Diretivas acima, podem ser combinadas como no exemplo a seguir (observe que “ ... restrições são aplicadas na ordem especificada; a primeira restrição que corresponde a vitórias ”):
smtpd_client_restrictions =
permit_sasl_authenticated
check_client_access hash:/etc/postfix/access
check_policy_service inet:127.0.0.1:4466
warn_if_reject reject_unknown_reverse_client_hostname
reject_non_fqdn_helo_hostname
reject_unauth_pipelining
reject_invalid_helo_hostname
reject_rbl_client bl.spamcop.net
smtpd_sender_restrictions =
reject_non_fqdn_sender,
reject_unknown_sender_domain,
check_sender_access hash:/etc/postfix/sender_access
smtpd_recipient_restrictions =
check_policy_service inet:127.0.0.1:10045,
permit_sasl_authenticated,
reject_invalid_helo_hostname,
reject_non_fqdn_recipient,
reject_unknown_recipient_domain,
check_recipient_access hash:/etc/postfix/access_recipient
permit_mynetworks,
warn_if_reject reject_unverified_recipient,
reject_unauth_destination,
check_policy_service inet:127.0.0.1:2501'
Para registrar corretamente informações úteis que podem não ser conhecidas no contexto “ smtpd_client_restrictions ” (ou outro), o parâmetro “smtpd_delay_reject = yes” pode ser útil, pois atrasará o “ tempo de rejeição ”, para coletar outras informações (o destinatário, por exemplo, é muito útil para solucionar problemas de usuários finais que se queixam de mensagens perdidas).
O postfix é um sistema muito complexo e, como tal, é extremamente flexível e poderoso. Você pode encontrar muitas informações nas páginas oficiais (es: link ) que, inclusive, inclui também algumas configurações úteis que podem ser usadas como ponto de partida para sua própria configuração ( link )
P.S .: por favor, seja "gentil" com esta resposta como ... é o meu primeiro POST na arena ServerFault / StackExchange; -)