Estoy buscando actualizar mi configuración de postfix para que restrinja los dominios a los que se pueden enviar correos electrónicos. Estoy pensando en usar smtpd_recipient_restrictions con check_recipient_access, según esta solución:https://serverfault.com/a/412805 ¿Esto permite expresiones regulares? Quiero decir, solo envíe correos electrónicos a *@mydomain.com y bloquee a todos los demás. Algo como esto:
smtpd_recipient_restrictions = check_recipient_access hash:/etc/postfix/recipients
donde los destinatarios serán:
*@mydomain.com PERMIT,
* REJECT,
¿Es esto factible?
Editar: sé que esto es posible con transportmap, pero ya usamos check_recipient_access para bloquear algunas identificaciones y preferiría no introducir otra configuración si es posible.
Respuesta1
si, mirahombre 5 regexp_table.
El formato será diferente, deberás deletrear las expresiones regulares completas:
/.*@example\.com/ OK
/.*/ REJECT
o incluso más corto,
!/.*@example\.com/ REJECT
(La acción predeterminada será "no encontrada", por lo que continuará con los siguientes smtpd_recipient_restrictions
elementos y estará permitida de forma predeterminada).
Guárdelo en un archivo y engánchelo así:
smtpd_recipient_restrictions =
...
check_recipient_access regexp:/etc/postfix/my_regexp_recipients.cf,
...
Postfix permite especificar expresiones regulares en línea desde la versión 3.7. Su tabla es muy corta, por lo que podría terminar con
smtpd_recipient_restrictions =
...
check_recipient_access regexp:{ { !/.*@example\.com/ REJECT } },
...
y sin archivos adicionales.
Ten cuidado. Túnecesidadtener otros elementos de restricción. Simplemente configurarlo de esta manera podría hacer que su servidor sea un relé abierto hacia *@example.com
, si no toma medidas contra él en este u otros smtpd_*_restrictions
parámetros ( reject_sender_login_mismatch
y así sucesivamente).