Subject: | Expunge bug |
Date: | Thu, 19 Nov 2020 10:26:03 +0000 |
To: | bug-Yahoomail [...] rt.cpan.org |
From: | "Olivia Sadler" <sadler [...] emclient.com> |
Hello,
My name is Olivia and I work for an email application called eM Client.
Recently, we found an EXPUNGE bug for IMAP in the latest distribution of
SmaterMail and we now believe that the same issue is affecting Yahoo
Accounts as well.
We were able to work with the developers of SmaterMail to fix the
problem and make it so their mail server was no longer sending invalid
EXPUNGE commands to our program and we were hoping to do the same thing
for Yahoo.
The problem looks something like this
After the user moves an email from the Inbox to Trash folder, the server
should report that it has disappeared from the Inbox, but the Yahoo IMAP
mail server will report that a completely different message has
disappeared - so we will delete it locally within our application.
You can see an illustration of the problem in this bit of IMAP log.
The message with the UID 965692 should be copied from the Inbox to the
Trash folder, and then EXPUNGED from the Inbox folder. However, the mail
server is sending an EXPUNGE command for the message with the ID 965691
instead.
The 965691 message isn't actually deleted on the mail server, so when
the account re-syncs, the message will be re downloaded. But it is
disorienting for users for it to temporarily disappear.
09:17:04.887|016| >>> MoveAsync(folder: /Inbox [Inbox], targetFolder:
Trash): Start 09:17:04.888|016| >>> MoveAsync(): Server supports MOVE
09:17:04.888|057| 14: A17 UID MOVE 965692 "Trash" 09:17:05.179|057| 14:
* OK [COPYUID 1319127605 965692 970584] 09:17:05.284|053| 14: * 13
EXPUNGE 09:17:05.284|053| 14: A17 OK UID MOVE completed
09:17:05.285|057| >>> SynchronizeFolderFastAsync(folder: /Inbox
[Inbox]): Received EXPUNGE 09:17:05.285|06D| 14: A18 NOOP
09:17:05.669|053| 14: * 14 EXISTS 09:17:05.669|053| 14: * 0 RECENT
09:17:05.669|053| 14: A18 OK NOOP completed 09:17:05.669|057| >>>
SynchronizeFolderFastAsync(folder: /Inbox [Inbox]): New item exists
09:17:05.676|053| 14: A19 UID SEARCH UID 965692 09:17:05.975|057| 14: *
SEARCH 09:17:05.975|057| 14: A19 OK UID SEARCH completed
09:17:05.976|057| >>> MoveAsync(): End 09:17:05.982|057| >>>
MoveAsync(): Deleted 1 items 09:17:05.982|016| >>>
SynchronizeMessagesAsync(folder: /Inbox [Inbox], fast: True): executing
09:17:05.982|016| >>> SynchronizeMessagesAsync(): Deleted 1 old
messages: 965691
Could I perhaps talk to someone about this in more detail and possibly
recommend the fix that SmarterMail came up with?
Thanks,
Olivia Sadler