ケーブルモデム(ブレズナン通信)の後ろに小さなホームサーバーセットアップがあります。このボックスで、通知などについてメールを受信(受信しない)できるようにしたい。
mail.bresnan.net
ディレクティブとしてSMART_Host
を追加しました。メールを送信しようとすると、メールログに次のように記録されます。
Dec 22 10:24:17 batcave sendmail[1530]: oBMHOHrs001530: from=aburns,
size=140, class=0, nrcpts=1,
msgid=<[email protected]>,
relay=aburns@localhost
Dec 22 10:24:17 batcave sm-mta[1531]: oBMHOHWZ001531: from=<[email protected]>,
size=397, class=0, nrcpts=1,
msgid=<[email protected]>,
proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
Dec 22 10:24:17 batcave sendmail[1530]: oBMHOHrs001530:
to=<[email protected]>, ctladdr=aburns (1000/1000),
delay=00:00:00, xdelay=00:00:00, mailer=relay,
pri=30140, relay=[127.0.0.1] [127.0.0.1],
dsn=2.0.0, stat=Sent (oBMHOHWZ001531 Message accepted for delivery)
Dec 22 10:24:18 batcave sm-mta[1517]: oBMH9mVv001357:
to=<[email protected]>, ctladdr=<[email protected]>
(1000/1000), delay=00:14:30, xdelay=00:00:42, mailer=relay,
pri=300339, relay=pmx0.bresnan.net. [69.145.248.1],
dsn=4.0.0, stat=Deferred: Connection timed out with pmx0.bresnan.net.
メッセージがsendmailサーバーによって配信のために受け入れられ、次にbresnanのサーバーへのハンドオフを試みてタイムアウトになる場所を確認できます。
これが私の質問です。熱心な読者なら、pmx0.bresnan.net
がSMART_Host
ディレクティブを設定したものではないことに気付くでしょう。これは、bresnan.com/netドメインの(外部?)MX
サーバーです。どうやらbresnanは、自分のネットワーク内からこのサーバーにアクセスできず、代わりにmail.bresnan.net
サーバー(私が接続できる)を使用する必要があるようにネットワークを構成しています。問題は、serverではなくdomainを使用するようにsendmailに指示する方法がわからないことです。
再び、小道具は私がこれを学ぶのを助けるためにwebmin(以下の注意を参照)に行きます。 sendmailにMXルックアップを実行しないように指示する角括弧でスマートホストを入力すると、define('SMART_Host','[69.145.248.18]')
(引用符を修正->バックティック)は実際にはメーラーテーブルなしで機能します。
以下で指摘するように、mailertable
のセットアップが必要です。ただし、 man page で指摘されているように、この機能はsendmail.mc
ファイルでも有効にする必要があります。
また、メーラールートは、sendmailがすべての操作で指定されたサーバーを使用するように強制するのではなく、受信者のアドレスに基づいていることに注意してください。いくつかのドメイン(Gmail、Googleでホストされているもの、私の仕事)に送信するだけなので、これは実際には問題ありません。
要約:
FEATURE('mailertable')
をsendmail.mc
ファイルに追加します。 (最初の引用はバックティックでなければならないことに注意してください。/etc/mail/mailertable
ファイルを作成します( man page を参照)Sudo makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable
make -C /etc/mail
service sendmail restart
注:I強くこれらのファイルの編集/再構築にはWebMinを使用することをお勧めします。それがなければ、メールプログラム可能なファイルが無視されている理由を理解しようとすることに夢中になっていたでしょう。
MXルックアップを回避するには、sendmailに短いエントリを追加します/etc/mail/mailertable
ファイル。
ファイルの内容は、おそらく次のような1行である必要があります。
bresnan.net esmtp:[69.145.248.18]
ファイルを保存してsendmailを再起動します(手動で実行する必要がある場合は、sendmail.cfを再構築します)。