From 405efcc33bbf7cd24bb25a0480663e7e53a5574a Mon Sep 17 00:00:00 2001 From: Timothy Hobbs Date: Tue, 26 Sep 2023 11:36:00 +0200 Subject: [PATCH] Delete emails immediately to prevent duplicate ticket problems Right now if there is an exception in this loop due to a single messed up email (perhapse an invalid email address), the loop will fail without deleting the already processed emails. In a few hours you can end up with hundreds of duplicate tickets. This way, the already processed emails will be deleted and not processed again. --- helpdesk/email.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/helpdesk/email.py b/helpdesk/email.py index 08e14f96..e152a3c6 100644 --- a/helpdesk/email.py +++ b/helpdesk/email.py @@ -291,6 +291,7 @@ def imap_oauth_sync(q, logger, server): except DeleteIgnoredTicketException: server.store(num, '+FLAGS', '\\Deleted') + server.expunge() logger.warn("Message %s was ignored and deleted from IMAP server" % num) except TypeError as te: @@ -300,6 +301,7 @@ def imap_oauth_sync(q, logger, server): else: if ticket: server.store(num, '+FLAGS', '\\Deleted') + server.expunge() logger.info( "Successfully processed message %s, deleted from IMAP server" % num) else: