¿Cómo configurar postfix para tirar todo el correo electrónico a un dominio y retransmitir todos los demás correos electrónicos?


9

Necesito configurar postfix en un entorno de desarrollo / prueba para filtrar correos electrónicos para que no enviemos spam a nuestros clientes. En nuestros entornos de prueba, depuramos todos nuestros datos de usuario para que las direcciones de correo electrónico se cambien a @localhost, aunque algunas direcciones podrían cambiarse a direcciones de correo electrónico válidas en un momento posterior para fines de prueba. Retransmitimos todo nuestro correo electrónico a través de un proveedor externo para la entrega, por lo que lo que me gustaría hacer es configurar postfix para:

  1. Tire cualquier correo electrónico enviado a localhost
  2. Transmita todo el correo electrónico restante a nuestro proveedor externo.

Siendo relativamente nuevo para postfix, ¿cuál sería la forma más fácil de configurar esto?

Respuestas:


8

Bueno, parece que he logrado resolver esto con un poco de búsqueda y prueba. Esto es lo que tuve que hacer:

  • En /etc/postfix/main.cf:

    transport_maps = hash:/etc/postfix/transport
    smtp_sasl_auth_enable = yes
    smtp_sasl_password_maps = static:<relayhost username>:<relayhost password>
    smtp_sasl_security_options = noanonymous
    smtp_tls_security_level = may
    start_tls = yes
    
  • En / etc / postfix / transport:

    localhost discard: 
    localhost.localdomain discard:
    * relay:[smtp.relayhost.com]:587
    

Aparentemente, la retransmisión también omite la directiva alias_maps, por lo que para que los alias continúen funcionando tuve que comentar tanto alias_maps como alias_database, y reemplazarlos con virtual_alias_maps. El formato de virutal_alias_map es idéntico a alias_maps, por lo que fue un cambio fácil de hacer.

Con estos cambios en su lugar, simplemente reinicie postfix y también ejecute "postmap / etc / postfix / transport" para construir transport.db. Ahora todo lo dirigido a @localhost o @ localhost.localdomain se descarta mientras todo lo demás se transmite a través del host especificado.


1
Esta no es la respuesta a la pregunta del OP, pero en una nota relacionada, esto es lo que hice para tirar todo el correo saliente en un clon temporal de un cuadro de productos: 1. Abrir /etc/postfix/main.cf2. Agregar default_transport = discard:Outgoing email disabled on this node3. Reiniciar Postfix: service postfix restart* a reloadpuede ser suficiente
deoren
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.