私は高可用性クラスターを実行していますが、これまでのところ、ほとんどのものがうまく機能しています。送信メールホスト(スマートホスト)として機能する2台の外部マシンがあります。内部ホストは、これら2つの外部向けホストを介してすべての電子メールを中継するように構成されています。
私のsmarthostsのmain.cfは次のようになります。
myhostname = lb1.example.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = lb1.example.com, localhost
relayhost =
mynetworks = 127.0.0.0/8 10.1.248.0/24
私の内部ホストのmain.cfは次のようになります。
mynetworks = 127.0.0.0/8
myhostname = web1.example.com
mydestination = $myhostname, localhost.$mydomain, localhost
relayhost = [10.1.248.3]
smtp_fallback_relay = [10.1.248.2]
lb1の内部IPは10.1.248.2であり、lb2の内部IPは10.1.248.3です。
外部ホストでは、rootおよびwww-dataの電子メールが/ etc/aliasesとともに[email protected]に転送されます。
スマートホスト設定を使用する利点の1つは、スパムフィルターなどが送信側の送信サーバーに接続できることです。すべての電子メールは正常に送信され、ヘッダーは次のようになります。
Received: from lb2.example.com ([198.51.100.3])
by mx.google.com with ESMTP id y17si1571259icb.76.2011.01.13.18.20.32;
Thu, 13 Jan 2011 18:20:32 -0800 (PST)
Received-SPF: neutral (google.com: 198.51.100.3 is neither permitted nor denied by best guess record for domain of [email protected]) client-ip=198.51.100.3;
Received: from db1.example.com (unknown [10.1.248.20])
by lb2.example.com (Postfix) with ESMTP id D364823C0BE
for <[email protected]>; Thu, 13 Jan 2011 21:20:31 -0500 (EST)
Received: by db1.example.com (Postfix)
id C9FA7760D6A; Thu, 13 Jan 2011 21:20:31 -0500 (EST)
Delivered-To: www-data@localhost
Received: by db1.example.com (Postfix, from userid 0)
id C1632760D6C; Thu, 13 Jan 2011 21:20:31 -0500 (EST)
問題はメールの返送/拒否です。外部マシンは、電子メールを内部マシンに転送しようとします。 www-バウンスする電子メールを送信するweb1のデータ(ユーザーが間違った電子メールアドレスでサインアップするなど)。
さらに厄介なのは、メインのexample.comドメインにGoogleメールを使用することです。
外部ホストの宛先ですべての内部ホストを指定する代わりに、example.comのmxにタッチして調整できないことを念頭に置いて、設定するためのより良い方法はありますか?
送信者アドレスをメールを受信できるアドレスに設定します。メールは送信者アドレスに返送されます。送信者は常に電子メールを受信できるアドレスである必要があります。 Postfixドキュメントのヘッダー書き換えのオプションを見てください。