Domanda

Ho un sistema Debian Etch di serie, usando Exim4. I domini sono prevalentemente locali ma ce ne sono alcuni remoti. Per gestire la consegna della posta remota uso il file di configurazione di Debian:

  /etc/exim4/hubbed_hosts

Questo file elenca i nomi di dominio e le macchine MX remote a cui consegnare. Ad esempio:

  example.org:  mx.example.com
  example.com:  mx2.example.com

Guardando il file di configurazione exim4 vedo che questo è stato usato come segue:

hubbed_hosts:
  debug_print = "R: hubbed_hosts for $domain"
  driver = manualroute
  domains = "${if exists{CONFDIR/hubbed_hosts}\
                   {partial-lsearch;CONFDIR/hubbed_hosts}\
              fail}"
  route_data = ${lookup{$domain}partial-lsearch{CONFDIR/hubbed_hosts}}
  transport = remote_smtp

Il problema che ho è che alcuni degli host che sto usando devono avere la loro posta consegnata a una porta non standard. Sfortunatamente il file Debian hubbed_hosts non funziona se provo a cambiarlo per includere una porta:

example.org: mx1.example.org:2525
example.com: 1.2.3.4.2525

È possibile consentire la specifica dinamica della porta?

È stato utile?

Soluzione 2

Speravo in qualcosa di un po 'più dinamico - e questa soluzione funziona:

 port = ${if exists{/etc/exim4/ports.list}\
              {${lookup{$domain}lsearch{/etc/exim4/ports.list}\
              {$value}{25}}}{25}}

Quindi un semplice file può avere un elenco di porte in base al dominio:

   example.org: 2525
   example.com: 26

Altri suggerimenti

Questo è effettivamente supportato di default senza alcuna modifica alla configurazione di exim4.

In hubbed_hosts, si separano gli host con due punti e si specifica un numero di porta con due punti due punti.     EX:

domain1: server1:server2::port:server3
domain2: server1::port
domain3: server1:server2

Per maggiori informazioni, consulta http: / /www.exim.org/exim-html-current/doc/html/spec_html/ch20.html#SECID122

Probabilmente potresti usare l'operatore $ {extract} per permetterti di combinare i numeri di porta e i nomi host, come nell'esempio della tua domanda originale.

Qualcosa di simile (non testato):

route_data = ${extract{1}{:}{${lookup{$domain}partial-lsearch{CONFDIR/hubbed_hosts}}}}

crea un nuovo trasporto che specifica la porta

remote_hub_2525:
driver = smtp
port = 2525

e quindi creare un router per i domini che richiedono una consegna non standard

non_standard_hub:
driver = manualroute
domains = example.org : example.com
transport = remote_hub_2525
no_more
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top