diff --git a/data/Dockerfiles/dovecot/quota_notify.py b/data/Dockerfiles/dovecot/quota_notify.py index 2d7361b8..a5cfe844 100755 --- a/data/Dockerfiles/dovecot/quota_notify.py +++ b/data/Dockerfiles/dovecot/quota_notify.py @@ -2,6 +2,7 @@ import smtplib import os +from datetime import datetime from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email.utils import COMMASPACE, formatdate @@ -31,6 +32,13 @@ while True: else: break +now = datetime.now().toordinal() +if r.hget('QW_TIME', username): + last_notified = int(r.hget('QW_TIME', username)) + if now - last_notified == 0: + print(f"{username} notified recently, not sending notification.") + sys.exit(0) + if r.get('QW_HTML'): try: template = Template(r.get('QW_HTML')) @@ -83,6 +91,8 @@ except Exception as ex: print('Failed to send quota notification: %s' % (ex)) sys.exit(1) +r.hset("QW_TIME", username, now) + try: sys.stdout.close() except: