Relé de host inteligente Exim4

Relé de host inteligente Exim4

Estoy ejecutando Exim 4.71. Yo quiero:

  1. Enrutar todos los correos electrónicosdeA.com a través de mail.A.com
  2. Enrutar todos los correos electrónicosde[BE].com a través de mail.B.com
  3. Envíe todos los demás correos electrónicos directamente.

Aquí está la configuración que tengo y que no funciona como esperaba:

lista de dominios a_dominios = a.com
lista de dominios b_dominios = b.com : c.com : d.com : e.com

iniciar enrutadores

ruta_inteligente_a:
  conductor = ruta manual
  dominios = +a_dominios
  transporte = remoto_smtp
  lista_ruta = +a_dominios mail.a.com
  no más

ruta_inteligente_b:
  conductor = ruta manual
  dominios = +b_dominios
  transporte = remoto_smtp
  lista_ruta = +b_dominios correo.mollenhour.com
  no más

búsqueda dns:
  controlador = búsqueda dns
  dominios = ! +dominios_locales
  transporte = remoto_smtp
  ignore_target_hosts = 0.0.0.0: 127.0.0.0/8
  no más

Cuando envío un correo electrónico, por ejemplo, con PHP mail() o Zend_Mail_Transport_Smtpestablezco From: y Return-Path: como[correo electrónico protegido], smart_route_ano se utiliza el enrutador, en su lugar se utiliza dnslookup. Al desactivar dnslookup no se envía ningún correo.

De los registros parece que el correo electrónico enviadoa [correo electrónico protegido]utiliza smart_route_a, pero el mismo correo electrónico enviado desde[correo electrónico protegido]a[correo electrónico protegido]se envía usando dnslookup.

¿Cómo hago un correo electrónico?de [correo electrónico protegido]ser retransmitido a través de mail.a.com?

Respuesta1

Usa un condicional como

route_list = * "${if match{$header_from:}{\N.*\.a\.com$\N} {mail.a.com}}"

domains = solo verifica el dominio de destino, no el dominio de origen.

información relacionada