如何在 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 条消息,但对于所有经过身份验证的用户来说这也是全局性的。