O mapa check_recipient_access do postfix permite regex?

O mapa check_recipient_access do postfix permite regex?

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_restrictionsitens 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_*_restrictionsparâmetros ( reject_sender_login_mismatche assim por diante).

informação relacionada