web-dev-qa-db-ja.com

ユーザーごとのレート制限exim

Eximに「レート制限」を実装して、Eximのすべてのユーザーが1日に特定の数の電子メールを送信できるようにするにはどうすればよいですか。

ユーザーのリストAは1日あたり100通のメールを送信でき、ユーザーのリストBは1日あたり500通のメールを送信できます。

4
Waqas Khan

HBruijnの答えを拡張して、私はこのACLセグメントをお勧めします:

# Keep authenticated users under control
deny authenticated = *
     set acl_c_msg_limit=${lookup{$sender_address}nwildlsearch{/etc/exim/send_limits}}
     ratelimit = $acl_c_msg_limit / 1d / strict / $authenticated_id

次に、/ etc/exim/send_limitsファイルを作成し、そこに入れます。

# Commented lines and blank lines are ignored
# Format is     EMAIL: LIMIT
[email protected]: 100
[email protected]: 200
[email protected]: 100

# Must be the last line, this is the default limit
*@*: 50

これはテストされていませんが、正しい方向に進むはずです。

7
Todd Lyons

manual には、ユーザーベースのレート制限設定の構成例があります。

# Keep authenticated users under control
deny authenticated = *
     ratelimit = 100 / 1d / strict / $authenticated_id

これにより、認証された送信者は1日あたり100のメッセージに制限されますが、これはすべての認証されたユーザーに対してグローバルになります。

2
HBruijn