maildrop 和配额超出

maildrop 和配额超出

我实现了当配额超出时警告 maildrop。除了一个细节之外,它工作正常。

缺点是发送邮件通知只能发送一次...我的意思是比如说如果邮箱已经超出80%以上,按照我的配置,超出时发送电子邮件通知,就这样了。

问题是,如果超出邮箱容量,即使 24 小时后也不会重新发送警报。

我注意到,当邮箱超出限制时,会创建一个名为的文件配额警告在邮箱超出的文件夹中/home/vmail/domain/mailbox/quotawarn。如果我删除该文件,会立即发送通知。所以这似乎就是主题所在。

我注意到文档中并理解应该按如下方式运行这里,意思是超过警告限制后24小时重新发送,但是这不起作用。

有什么想法吗?谢谢

答案1

将 Sam Varshavchik 的解决方案放在在 courier-maildrop 邮件列表中交叉发布的问题

现有文件的时间戳quotawarn用于确定自上次警告消息以来的 24 小时何时过去。

检查文件的时间戳quotawarn

此外,为了使警告生效,当然,所有邮件都必须使用maildrop或来投递deliverquota。如果您有其他程序来投递邮件,它将忽略quotawarn;这是不言而喻的。


换句话说,这里是检查这种情况的伪代码

if there is incoming email
    if postfix deliver it via maildrop or deliverquota
        if quota threshold > 0
            if size of maildir > quota threshold
                if there is quotawarn file
                    if modified time of quotawarn + 86400 < now
                        write blank string to quotawarn file
                        put warning email into user mailbox

相关内容