web-dev-qa-db-ja.com

メールドロップとクォータを超えました

クォータを超えたときに警告メールドロップを実装しました。これは、1つの詳細を除いて正しく機能しました。

欠点は、メール通知の送信が時間だけ送信されることです...たとえば、メールボックスが80%を超えて超過した場合、構成したように、超過したときに電子メール通知を送信します。

問題は、メールボックスを超えた場合、24時間後でも再送信アラートがないことです。

メールボックスが制限を超えると、メールボックスのフォルダーにquotawarnというファイルが作成されることに気付きました/home/vmail/domain/mailbox/quotawarn。そのファイルを削除すると、すぐに通知が送信されます。だから、それが話題になっているようです。

ドキュメントで気づき、それは here のように機能するはずだと理解しました。つまり、警告制限を超えた場合は24時間後に再送信しますが、これは機能しません。

何か案が ?ありがとう

2
guid0ignaci0

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
1
masegaloeh