diff --git a/application/imap-service.js b/application/imap-service.js index 8be19ba..af843df 100644 --- a/application/imap-service.js +++ b/application/imap-service.js @@ -242,13 +242,9 @@ class ImapService extends EventEmitter { async deleteOldMails(deleteMailsBefore) { let uids; - // Only do heavy IMAP date filtering if the cutoff is older than 1 day - const useDateFilter = helper.moreThanOneDay(new Date(), deleteMailsBefore); - - const searchQuery = useDateFilter ? [ - ['!DELETED'], - ['BEFORE', deleteMailsBefore] - ] : [ + // IMAP date filters are unreliable - some servers search internal date, not Date header + // Always fetch all UIDs and filter by date header in JavaScript instead + const searchQuery = [ ['!DELETED'] ]; @@ -484,4 +480,4 @@ ImapService.EVENT_DELETED_MAIL = 'mailDeleted' ImapService.EVENT_INITIAL_LOAD_DONE = 'initial load done' ImapService.EVENT_ERROR = 'error' -module.exports = ImapService \ No newline at end of file +module.exports = ImapService