質問: postfixで特定ユーザに対し外部からのメールをはじきたいのですが。 postfixで特定ユーザに対し外部からのメールをはじきたいのですが どのようにすれば良いのでしょうか。 検索しても、サーバすべてのユーザに対して外部からのメールをはじくようにする方法はみつかったのですが、各ユーザごとにそういう設定をする方法というのが見つかりませんでした; 具体的には、「特定のユーザに対して、あるドメインからのみのメールを受け取るようにする」という設定方法が知りたいです。 これはpostfixでなくてlinuxの各ユーザ側で設定する必要があるのかもしれませんが・・・知ってる方いらっしゃいましたら教えていただきたいです。 ちなみにosはvine linuxです。
回答: smtpd_restriction_classesの機能を使います。 foo@example.comにexample.netからだけ受け取らせる場合 設定例 /etc/postfix/main.cfに以下を追加 smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination, check_recipient_access hash:/etc/postfix/user smtpd_restriction_classes = from_domain from_domain = check_sender_access hash:/etc/postfix/domain_list reject /etc/postfix/user foo@example.com from_domain /etc/postfix/domain_list example.net ok # postmap /etc/postfix/user # postmap /etc/postfix/domain_list postfix再起動 from_domainというmail fromをチェックするクラスを定義する。 このクラスを使うことで宛先(rcpt to)と送信元(mail from)をチェックして挙動を決められます。 smtpd_recipient_restrictionsの設定によってはpermitする可能性もあります。 上の例ならmynetworksから送るならpermitされますし。 細かくは、postfixのrestriction_class_readmeに書いてあります。