Question

J'ai un système Debian Etch standard, utilisant Exim4. Les domaines sont principalement locaux mais certains sont distants. Pour gérer la livraison du courrier distant, j'utilise le fichier de configuration Debian:

  /etc/exim4/hubbed_hosts

Ce fichier répertorie les noms de domaine et les machines MX distantes à livrer. Par exemple:

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

En regardant le fichier de configuration exim4, je vois que cela s’utilise comme suit:

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

Le problème que j'ai est que certains des hôtes que j'utilise ont besoin que leur courrier soit livré sur un port non standard. Malheureusement, le fichier hubbed_hosts de Debian ne fonctionne pas si j'essaie de le changer pour inclure un port:

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

Est-il possible d'autoriser de manière dynamique la spécification du port?

Était-ce utile?

La solution 2

J'espérais quelque chose d'un peu plus dynamique - et cette solution fonctionne:

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

Ensuite, un fichier simple peut avoir une liste de ports par domaine:

   example.org: 2525
   example.com: 26

Autres conseils

Ceci est en fait supporté par défaut sans aucune modification de votre configuration exim4.

Dans hubbed_hosts, vous séparez les hôtes par deux-points et vous spécifiez un numéro de port avec deux-points.     EX:

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

Pour plus d'informations, consultez http: / /www.exim.org/exim-html-current/doc/html/spec_html/ch20.html#SECID122

Vous pourriez probablement utiliser l'opérateur $ {extract} pour combiner les numéros de port et les noms d'hôte, comme dans l'exemple de votre question d'origine.

Quelque chose comme (non testé):

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

faire un nouveau transport qui spécifie le port

remote_hub_2525:
driver = smtp
port = 2525

puis créez un routeur pour les domaines nécessitant une livraison non standard

non_standard_hub:
driver = manualroute
domains = example.org : example.com
transport = remote_hub_2525
no_more
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top