Nov 122007
 

Postfixを使って、特定のドメイン、宛先にしかメールを送信できないMTAを用意してみました。
mynetworks以外からの接続でも、宛先さえマッチすればいくらでも中継するという、本番ではあまり好ましくない構成ですが、テスト環境としては重宝したりします。環境はCentOS 3.9+Postfix 2.0.16です。

まずは、mynetworksであれば中継するという動作を抑制するため、main.cfのsmtpd_recipient_restrictionsからpermit_mynetworksを取り除きます。

smtpd_recipient_restrictions = reject_unauth_destination

次に送信可能な宛先をrelay_domainsとrelay_recipient_mapsに定義します。
main.cfのrelay_domainsに中継可能な宛先を列挙します。

relay_domains = example.jp,
 example.com,
 example.net
relay_recipient_maps = hash:/etc/postfix/relay_recipients

さらにrelay_recipient_mapsにユーザ名まで含めた宛先を列挙します(/etc/postfix/relay_recipients)

@example.jp		#
user1@example.com	#
user2@example.net	#

これで一応example.jpは全ユーザ宛、example.comとexample.netは一部ユーザ宛に送信可能で、それ以外には送信できないMTAになるはずです。

ただ、一点不可解な動きがあって、SMTP接続では意図した動作になるものの、sendmailコマンドで送信すると宛先に関係なく送信できてしまう状態になってしまいました。コマンド起動だとmain.cf利かないなんてわけはないだろうし…謎です 😕

Sorry, the comment form is closed at this time.