クォータを超えたときに警告メールドロップを実装しました。これは、1つの詳細を除いて正しく機能しました。
欠点は、メール通知の送信が時間だけ送信されることです...たとえば、メールボックスが80%を超えて超過した場合、構成したように、超過したときに電子メール通知を送信します。
問題は、メールボックスを超えた場合、24時間後でも再送信アラートがないことです。
メールボックスが制限を超えると、メールボックスのフォルダーにquotawarnというファイルが作成されることに気付きました/home/vmail/domain/mailbox/quotawarn
。そのファイルを削除すると、すぐに通知が送信されます。だから、それが話題になっているようです。
ドキュメントで気づき、それは here のように機能するはずだと理解しました。つまり、警告制限を超えた場合は24時間後に再送信しますが、これは機能しません。
何か案が ?ありがとう
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