Você precisaria de algum teste de limitação antes de permit_sasl_authenticated . Um pré-requisito para isso seria ter o smtpd separado na porta 25 para mensagens recebidas e outro smtpd para envio na porta 587 . Caso contrário, essa limitação faria com que as mensagens recebidas fossem rejeitadas, pois não passariam no teste. Em seguida, remova o permit_sasl_authenticated da porta 25 e adicione o teste à sua configuração de envio em master.cf .
-
Para responder à sua pergunta literalmente,
check_sender_accessseria um teste adequado, colocando todos os domínios na lista de permissões listado emsender_dependent_relayhost_mapse rejeitando o email para o resto.check_sender_access type:tableSearch the specified access(5) database for the
MAIL FROMaddress, domain, parent domains, orlocalpart@, and execute the corresponding action.Isso pode ser adicionado a
smtpd_sender_restrictionsousmtpd_recipient_restrictions. -
O que faria o mesmo, mas impedisse ainda mais que os usuários usassem os endereços um do outro, usando
reject_sender_login_mismatch. Isso precisa de uma tabela adicionalsmtpd_sender_login_maps, mas se suas entradasvirtual_alias_mapsjá estiverem formadas como[email protected] username, você pode usar o mesmo arquivo e os endereços de remetente permitidos são atualizados automaticamente sempre que você atualizar seu banco de dados de aliases virtuais compostmap. Um exemplo dessa configuração de envio nomaster.cf:submission inet n - - - - smtpd # Other parameters -o smtpd_sender_login_maps=hash:/etc/postfix/virtual -o smtpd_sender_restrictions=reject_sender_login_mismatch -o smtpd_client_restrictions=permit_sasl_authenticated,reject # Other parameters