私は単一のマシンにPostfixをインストールしています。これは次の唯一の最終的なメールの宛先です。
mail.example.org
)およびlocalhost
lists.example.org
にリストしていますmain.cf
の関連設定は次のとおりです。
myhostname = mail.example.org
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = $myhostname
mydestination = localhost, $myorigin
relay_domains = $mydestination, lists.example.org
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
# Virtual domains
virtual_mailbox_base = /var/mail/vhosts
virtual_mailbox_domains = hash:/etc/postfix/virtual_domains
virtual_mailbox_maps = hash:/etc/postfix/virtual_mailboxes
virtual_alias_maps = hash:/etc/postfix/virtual_aliases
virtual_minimum_uid = 100
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
# mailman configuration
mailman_destination_recipient_limit = 1
transport_maps = hash:/etc/postfix/transport
smtpd_relay_restrictions = permit_mynetworks,
reject_invalid_hostname,
reject_unknown_sender_domain,
reject_unknown_recipient_domain,
reject_unauth_destination,
reject_unlisted_recipient,
reject_rbl_client zen.spamhaus.org,
permit
現在、lists.example.org
のメールは、次のtransport_maps
設定を介してMailmanにルーティングされます。
lists.example.org mailman:
これは機能しますが、電子メールが不明なリストに送信された場合、メッセージはPostfixによって受け入れられ、Mailmanによって処理されるときにバウンスされることを意味します。いくつかの理由で(特に後方散乱を減らし、メールをできるだけ早く拒否する)、PostfixがRCPT TO
と一致しMailmanリストに対応しない@lists.example.org
を見つけたらすぐにメールを拒否したい。
この結果は、すべてのMailmanリストエイリアスを含むファイルを作成し、これをrelay_recipient_maps
でmain.cf
として指定することで達成できると思います。ただし、私の理解では、relay_recipient_maps
はrelay_domains
に適用され、$mydestination
アドレスに影響を与えたくありません。
したがって、私の2つの関連する質問は次のとおりです。
$mydestination
からrelay_domains
を削除する必要があります。削除しても、既存のエイリアスは引き続き機能しますか?relay_domains
がlists.example.org
に設定されている場合、relay_recipient_maps
は希望する結果を達成しますか?あるいは、PostfixがMailmanにクエリを実行し、配信用のメールを受け入れる前に応答を取得する方法がある場合(おそらく、キュー前のフィルターを使用します-これがSpamAssassinへのメールの処理方法です)、それでも私が望むことを達成できます。
前もって感謝します。 :-)
これを実行するのにしばらく時間がかかりましたが、私が従った手順は次のとおりです。
$mydestination
からrelay_domains
を削除します。/etc/postfixo/relay_recipient_maps
というハッシュファイルに追加します。relay_recipient_maps = hash:/etc/postfix/relay_recipient_maps
からmain.cf
存在しないリストへの電子メールは、スパムチェックが行われる前、およびメールがMailmanに渡される前に、最初のSMTPトランザクションの一部として拒否されるようになりました。