exim4経由のメールに使用するリモートポートを指定する
質問
Exim4を使用して、ストックのDebian Etchシステムを入手しました。ドメインはほとんどローカルですが、リモートのドメインもあります。リモートメールの配信を処理するには、Debian構成ファイルを使用します。
/etc/exim4/hubbed_hosts
このファイルには、ドメイン名と配信先のリモートMXマシンがリストされています。例:
example.org: mx.example.com
example.com: mx2.example.com
exim4構成ファイルを見ると、次のように使用されていることがわかります。
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
私が抱えている問題は、私が使用しているホストの一部は、標準ではないポートにメールを配信する必要があることです。残念ながら、Debian hubbed_hostsファイルは、ポートを含めるように変更しようとしても機能しません。
example.org: mx1.example.org:2525
example.com: 1.2.3.4.2525
ポートの指定を動的に許可することは可能ですか?
解決 2
もう少し動的なものを望んでいました-そしてこの解決策は機能します:
port = ${if exists{/etc/exim4/ports.list}\
{${lookup{$domain}lsearch{/etc/exim4/ports.list}\
{$value}{25}}}{25}}
次に、単純なファイルにドメインごとのポートのリストが含まれる場合があります。
example.org: 2525
example.com: 26
他のヒント
これは、exim4の設定を変更することなく、デフォルトで実際にサポートされています。
hubbed_hostsでは、ホストをコロンで区切り、ポート番号を二重コロンで指定します。 例:
domain1: server1:server2::port:server3
domain2: server1::port
domain3: server1:server2
詳細については、 http:/をご覧ください。 /www.exim.org/exim-html-current/doc/html/spec_html/ch20.html#SECID122
元の質問の例のように、おそらく$ {extract}演算子を使用してポート番号とホスト名を組み合わせることができます。
次のようなもの(未テスト):
route_data = ${extract{1}{:}{${lookup{$domain}partial-lsearch{CONFDIR/hubbed_hosts}}}}
ポートを指定する新しいトランスポートを作成
remote_hub_2525:
driver = smtp
port = 2525
次に、非標準配信が必要なドメイン用のルーターを作成します
non_standard_hub:
driver = manualroute
domains = example.org : example.com
transport = remote_hub_2525
no_more
所属していません StackOverflow