Skip to content

microsoft office 365 "enables" UIDONLY, then executes an MSN/non-UID FETCH command resulting in UIDREQUIRED error #49

@mjl-

Description

@mjl-

A transcript from a session in mox:

"S: * OK [CAPABILITY IMAP4rev2 IMAP4rev1 ENABLE LITERAL+ IDLE SASL-IR BINARY UNSELECT UIDPLUS ESEARCH SEARCHRES MOVE UTF8=ACCEPT LIST-EXTENDED SPECIAL-USE CREATE-SPECIAL-USE LIST-STATUS AUTH=SCRAM-SHA-256-PLUS AUTH=SCRAM-SHA-256 AUTH=SCRAM-SHA-1-PLUS AUTH=SCRAM-SHA-1 AUTH=CRAM-MD5 ID APPENDLIMIT=9223372036854775807 CONDSTORE QRESYNC STATUS=SIZE QUOTA QUOTA=RES-STORAGE METADATA SAVEDATE WITHIN NAMESPACE LIST-METADATA MULTIAPPEND REPLACE PREVIEW INPROGRESS MULTISEARCH NOTIFY UIDONLY AUTH=PLAIN] mox imap\r\n"
"C: WIR00001 ID (\"name\" \"Microsoft Office 365\" \"version\" \"15.20.9160.4\" \"vendor\" \"Microsoft Corporation\" \"support-url\" \"https://support.microsoft.com/\")\r\n"
"S: * ID (\"name\" \"mox\")\r\nWIR00001 OK ID done\r\n"
"C: WIR00002 AUTHENTICATE PLAIN [...]\r\n"
"C: WIR00003 CAPABILITY\r\n"
"S: * CAPABILITY IMAP4rev2 IMAP4rev1 ENABLE LITERAL+ IDLE SASL-IR BINARY UNSELECT UIDPLUS ESEARCH SEARCHRES MOVE UTF8=ACCEPT LIST-EXTENDED SPECIAL-USE CREATE-SPECIAL-USE LIST-STATUS AUTH=SCRAM-SHA-256-PLUS AUTH=SCRAM-SHA-256 AUTH=SCRAM-SHA-1-PLUS AUTH=SCRAM-SHA-1 AUTH=CRAM-MD5 ID APPENDLIMIT=9223372036854775807 CONDSTORE QRESYNC STATUS=SIZE QUOTA QUOTA=RES-STORAGE METADATA SAVEDATE WITHIN NAMESPACE LIST-METADATA MULTIAPPEND REPLACE PREVIEW INPROGRESS MULTISEARCH NOTIFY UIDONLY AUTH=PLAIN\r\nWIR00003 OK CAPABILITY done\r\n"
"C: WIR00004 ENABLE CONDSTORE UIDONLY\r\n"
"S: * ENABLED CONDSTORE UIDONLY\r\nWIR00004 OK ENABLE done\r\n"
"C: WIR00005 LIST \"\" \"*\"\r\n"
"S: * LIST () \"/\" Archive\r\n[...]\r\nWIR00005 OK LIST done\r\n"
"C: WIR00006 SELECT \"INBOX\" (CONDSTORE)\r\n"
"S: * FLAGS (\\Seen \\Answered \\Flagged \\Deleted \\Draft $Forwarded $Junk $NotJunk $Phishing $MDNSent)\r\n* OK [PERMANENTFLAGS (\\Seen \\Answered \\Flagged \\Deleted \\Draft $Forwarded $Junk $NotJunk $Phishing $MDNSent \\*)] x\r\n* 0 RECENT\r\n* 4206 EXISTS\r\n* OK [UIDVALIDITY 1666817589] x\r\n* OK [UIDNEXT 5064] x\r\n* LIST () \"/\" Inbox\r\n* OK [HIGHESTMODSEQ 32802] x\r\nWIR00006 OK [READ-WRITE] x\r\n"
"C: WIR00007 FETCH 4197:4206 (FLAGS RFC822.SIZE UID)\r\n"
"S: WIR00007 BAD [UIDREQUIRED] FETCH unrecognized syntax/command: cannot use message sequence numbers with uidonly\r\n"
"C: WIR00008 LOGOUT\r\n"
"S: * BYE thanks\r\nWIR00008 OK LOGOUT done\r\n"

For completeness, this is the problematic behaviour:

"C: WIR00004 ENABLE CONDSTORE UIDONLY\r\n"
[...]
"C: WIR00007 FETCH 4197:4206 (FLAGS RFC822.SIZE UID)\r\n"

Apparently, MS knows they don't implement UIDONLY correctly: https://learn.microsoft.com/en-us/answers/questions/5567647/how-to-fix-a-migration-error-from-imap-server-to-o

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions