質問

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
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top