自分のドメイン以外の場所に送信メールを送信するために、いくつかの特定のアドレスを除いてすべてをブロックすることは可能かどうか疑問に思います。また、彼らはまだ入ってくるメッセージを受け取ることができました。全員をブロックすることは、私が見ることができるものからそれほど難しいことではありませんが、ほんの数人の特定のユーザーをブロックすることは、まったく別の話のように思われます。
接尾辞 制限クラス で完全に可能です。テーブル内のユーザーをグループ化してから、特定のアクセスパターンを適用できます(特定のドメインにのみ送信できる、まったく送信できないなど)。
簡単な例は、smtpd_recipient_restrictions
の下に、送信者のアクセスを確認する行を追加します。check_sender_access hash:/etc/postfix/sender_access
ファイルsender_access
にメールアドレスを入力し、ポリシーを適用します(数人のユーザーを言うので、ホワイトリストに登録することをお勧めします。具体的には、どこにでも送信できるようにしてから、他のユーザーはより大きなグループを追加します。たとえばドメイン)。
/ etc/postfix/sender_access:
[email protected] all
[email protected] all
@yourdomain.com local
次に、それらのクラスを定義する必要があります。
smtpd_restriction_classes = local, all
local = check_recipient_access hash:/etc/postfix/local_dom, reject
all = check_recipient_access regex:/etc/postfix/all_dom, reject
/ etc/postfix/local:
domain1.com OK
domain2.com OO
/ etc/postfix/all:
^*@* OK
これは完璧ではありません(私の正規表現shouldは機能します)。名前からのメールは制限されておらず、もちろん、メールユーザーは別のメールユーザーを介して送信することもできます。サーバーですが、これはあなたが求めることを行うための1つの基本的な方法です。 SQLなどの代わりにハッシュテーブルを使用することもできます。