web-dev-qa-db-ja.com

特定の電子メールアドレスが自分のドメイン以外の場所に電子メールを送信するのをブロックすることは可能ですか?

自分のドメイン以外の場所に送信メールを送信するために、いくつかの特定のアドレスを除いてすべてをブロックすることは可能かどうか疑問に思います。また、彼らはまだ入ってくるメッセージを受け取ることができました。全員をブロックすることは、私が見ることができるものからそれほど難しいことではありませんが、ほんの数人の特定のユーザーをブロックすることは、まったく別の話のように思われます。

5
George G

接尾辞 制限クラス で完全に可能です。テーブル内のユーザーをグループ化してから、特定のアクセスパターンを適用できます(特定のドメインにのみ送信できる、まったく送信できないなど)。

簡単な例は、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などの代わりにハッシュテーブルを使用することもできます。

5
NickW