Frage

Ich habe ein Standard-Debian Etch System bekommt, mit Exim4. Die Domänen sind meist lokale, aber es gibt einige, die weit entfernt sind. Um die Bereitstellung von Remote-Mail-Griff verwende ich die Debian-Konfigurationsdatei:

  /etc/exim4/hubbed_hosts

In dieser Datei sind die Domain-Namen und Remote-MX-Maschinen zu liefern. Zum Beispiel:

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

Mit Blick auf die exim4 Konfigurationsdatei Ich sehe, dass dies wie folgt verwendet:

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

Das Problem, das ich habe ist, dass einige der Gastgeber Ich brauche bin mit ihrer Mail an einen Nicht-Standard-Port geliefert haben. Leider hat die Debian hubbed_hosts Datei nicht, wenn ich versuche, es zu ändern, um einen Port zu schließen ein:

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

Ist es möglich, dynamisch die Port erlaubt angegeben werden?

War es hilfreich?

Lösung 2

Ich hatte gehofft, für etwas mehr Dynamik - und diese Lösung funktioniert:

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

Dann wird eine einfache Datei, die eine Liste von Ports auf einer Pro-Domain-Basis hat:

   example.org: 2525
   example.com: 26

Andere Tipps

Dies ist eigentlich standardmäßig unterstützt, ohne Änderungen an den exim4 Konfig.

In hubbed_hosts, trennen Sie Hosts mit einem Doppelpunkt, und Sie eine Portnummer mit einem Doppeldoppelpunkt angeben.     EX:

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

Für weitere Informationen überprüfen http: / /www.exim.org/exim-html-current/doc/html/spec_html/ch20.html#SECID122

Sie könnten wahrscheinlich den $ {Auszug} Operator verwenden, lassen Sie die Portnummern und Hostnamen kombinieren, wie in dem Beispiel in Ihrer ursprünglichen Frage.

So etwas (nicht getestet):

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

einen neuen Transport machen, die den Port spezifiziert

remote_hub_2525:
driver = smtp
port = 2525

und dann einen Router für die Domänen erstellen, um Nicht-Standard-Lieferung

non_standard_hub:
driver = manualroute
domains = example.org : example.com
transport = remote_hub_2525
no_more
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top