Estou procurando atualizar minha configuração do postfix para restringir os domínios para os quais os emails podem ser enviados. Estou pensando em usar smtpd_recipient_restrictions com check_recipient_access, com base nesta solução:https://serverfault.com/a/412805 Isso permite regex? Quero dizer, envie e-mails apenas para *@meudominio.com e bloqueie todos os outros. Algo assim:
smtpd_recipient_restrictions = check_recipient_access hash:/etc/postfix/recipients
onde os destinatários estarão:
*@mydomain.com PERMIT,
* REJECT,
Isso é factível?
Editar: sei que isso é possível com o transportmap, mas já usamos check_recipient_access para bloquear alguns ids, e prefiro não introduzir outra configuração, se possível.
Responder1
Sim, vejahomem 5 regexp_table.
O formato será diferente, você precisa especificar as expressões regulares completas:
/.*@example\.com/ OK
/.*/ REJECT
ou até mais curto,
!/.*@example\.com/ REJECT
(a ação padrão será "não encontrada", portanto continuará com os smtpd_recipient_restrictions
itens a seguir e será permitida por padrão).
Salve-o em um arquivo e conecte assim:
smtpd_recipient_restrictions =
...
check_recipient_access regexp:/etc/postfix/my_regexp_recipients.cf,
...
Postfix permite especificar regexps inline desde a versão 3.7. Sua mesa é muito curta, então você pode acabar com
smtpd_recipient_restrictions =
...
check_recipient_access regexp:{ { !/.*@example\.com/ REJECT } },
...
e nenhum arquivo adicional.
Tome cuidado. Vocêprecisarter outros itens de restrição. Apenas configurá-lo dessa forma pode tornar seu servidor um retransmissor aberto *@example.com
, se você não tomar medidas contra ele neste ou em outros smtpd_*_restrictions
parâmetros ( reject_sender_login_mismatch
e assim por diante).