Necesito una configuración exim que pueda permitir solo correos electrónicos smtp autenticados, excepto cuando el correo electrónico provenga de root@servername
, por ejemplo. Esto es lo que tengo hoy:
acl_not_smtp (custom_begin_outgoing_notsmtp_checkall)
deny
authenticated = *
condition = ${if !eq {root@$primary_hostname}{${address:$h_from:}}}
message = REJECTED
accept
Esta solución bloquea todos los correos electrónicos no autenticados. ¿Alguien tiene una mejor solución?
Respuesta1
Supongo que necesitas llamar a otra ACL: acl_smtp_rcpt. Descubra con qué nombre está asignada esta ACL en su servidor. En Debian es acl_check_rcpt.
Para probar un remitente, el remitente ya debe estar proporcionado, lo cual es cierto cuando el extremo remoto envía el comando "RCPT TO:". Sin haberlo probado, haría algo como lo siguiente en acl_check_rcpt:
accept authenticated = *
accept senders = root@servername
deny message = Rejected
No debe confiar en una dirección de remitente que pueda falsificarse fácilmente. Podrías probar con el host de envío con
accept senders = root@servername
hosts = 127.0.0.1 : localhost
Además, asegúrese de que el origen del mensaje sea su servidor.
La mayoría de los mensajes locales no se reciben mediante SMTP. Allí entra el acl en tu configuración: acl_not_smtp. Pero nuevamente, busque con qué nombre está asignado.