当垃圾邮件发送者用真实的人员发送电子邮件或将回复地址发送到超过配额的帐户时,我试图解决类似黑客攻击的问题。
这种情况以前产生从Dovecot的退信消息,发送给那个人(有时标记为垃圾邮件),所以我实施了dovecot作为政策服务( check_policy_service ),检查“收件人”字段中的帐户是否有一些消息的可用空间,否则它SMTP连接期间返回550。
不幸的是,当“收件人”字段中有一个别名时,它不起作用,这可能会将邮件转发给一个或多个真实帐户。 因此,首先检查返回OK,但是在消息排队后,当它到达真实账户的配额已满时,会再次生成退回消息。
我可以编写一个SQL检查,如果任何别名的目标超过配额,但它可能会导致撤消连接到别名连接到许多帐户,但只有一个超过配额。
有没有什么好的解决办法呢?