3

私は 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

ポートを動的に指定できるようにすることはできますか?

4

4 に答える 4

9

これは実際にはデフォルトでサポートされており、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をご覧ください。

于 2009-12-23T02:21:39.950 に答える
3

私はもう少し動的なものを望んでいました-そして、この解決策はうまくいきます:

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

次に、単純なファイルにドメインごとのポートのリストを含めることができます。

   example.org: 2525
   example.com: 26
于 2008-09-30T20:12:45.693 に答える
2

元の質問の例のように、$ {extract}演算子を使用して、ポート番号とホスト名を組み合わせることができます。

(未テスト)のようなもの:

route_data = ${extract{1}{:}{${lookup{$domain}partial-lsearch{CONFDIR/hubbed_hosts}}}}
于 2008-10-01T21:38:25.417 に答える
1

ポートを指定する新しいトランスポートを作成します

remote_hub_2525:
driver = smtp
port = 2525

次に、非標準配信が必要なドメイン用のルーターを作成します

non_standard_hub:
driver = manualroute
domains = example.org : example.com
transport = remote_hub_2525
no_more
于 2008-09-30T19:59:42.323 に答える