次のオプションを使用してMYSQLを使用して、postfixでグローバルホワイトリストを定義しました。
smtpd_recipient_restrictions =
reject_invalid_hostname,
check_client_access mysql:/etc/postfix/client_whitelist
check_sender_access mysql:/etc/postfix/sender_whitelist
check_recipient_access mysql:/etc/postfix/recipient_whitelist
permit_mynetworks,reject
の内容 /etc/postfix/client_whitelist
host = localhost:3306
user = root
password = password
dbname = postfix
query = SELECT restriction FROM client_whitelist WHERE client = "%s" AND status = "1";
mysqlテーブル
+---------------+-------------+--------+
| client | restriction | status |
+---------------+-------------+--------+
| 192.168.66.18 | OK | 1 |
| 192.168.66.92 | OK | 1 |
| 192.168.66.93 | REJECT | 1 |
+---------------+-------------+--------+
そして、私は送信者と受信者に同じ表を持っています。私の主な問題は、ポストフィックスの背後に複数のドメインがあり、受信者であるアカウントを考慮してクライアント/送信者をフィルタリングしたいことです。例えば:
Mail from 192.168.66.92 and sender "user1@test.com" IS ALLOW to "user2@domain1.com"
Mail from 192.168.66.92 and sender "user1@test.com" IS NOT ALLOW to "user2@domain2.com"
Mail from 192.168.66.18 IS ALLOW for recipient or domain "domain1.com"
Mail from 192.168.66.18 IS NOT ALLOW for recipient or domain "domain2.com"
これを後置で実装する方法はありますか?私はグーグルで検索していますが、運はありません。
別の方法では、「後置プロキシ」を配置して別の後置インスタンスにリダイレクトし、各インスタンスが各ドメインをフィルタリングすることを考えていました。しかし、たとえ可能であっても、この環境のパフォーマンスについてはわかりません。