根据每个用户的速率限制

根据每个用户的速率限制

如何在 Exim 中实现“速率限制”,以便我的 Exim 中的每个用户每天可以发送特定数量的电子邮件。

列表 A 的用户每天可以发送 100 封电子邮件,列表 B 的用户每天可以发送 500 封电子邮件。

答案1

扩展 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

这尚未经过测试,但它应该可以引导您朝着正确的方向前进。

答案2

手动的有一个基于用户的速率限制设置的配置示例:

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

这将经过身份验证的发件人限制为每天 100 条消息,但对于所有经过身份验证的用户来说这也是全局性的。

相关内容