I have done a little more digging this morning. My findings:
- Setting up Apple's Mail app on a MacBook Pro and accessing my Yahoo-hosted email produces results similar to what I see in Outlook, though Mail seems to resync less often. But it does resync spontaneously, downloading the entire mailbox. I think this can be used to deflect Yahoo's assertion that it's an Outlook problem. I plan to test other email clients but haven't had time.
- My inbox has about 23,000 messages and eventually they do all get downloaded. But the mail clients (Outlook and Apple Mail, on different systems) resync multiple times per day, redownloading the entire lot.
- export.imap.mail.yahoo.com and imap.mail.yahoo.com now both resolve to the SAME IP address:
% nslookup
> **imap.mail.yahoo.com**
Server: 192.168.0.1
Address: 192.168.0.1#53
Non-authoritative answer:
imap.mail.yahoo.com canonical name = jimap.imap.mail.yahoo.com.
jimap.imap.mail.yahoo.com canonical name = jimapinternal.imap.mail.g03.yahoodns.net.
**Name: jimapinternal.imap.mail.g03.yahoodns.net**
**Address: 98.137.27.103**
**Name: jimapinternal.imap.mail.g03.yahoodns.net**
**Address: 67.195.228.138**
> **export.imap.mail.yahoo.com**
Server: 192.168.0.1
Address: 192.168.0.1#53
Non-authoritative answer:
export.imap.mail.yahoo.com canonical name = jimap.imap.mail.yahoo.com.
jimap.imap.mail.yahoo.com canonical name = jimapinternal.imap.mail.g03.yahoodns.net.
**Name: jimapinternal.imap.mail.g03.yahoodns.net**
**Address: 98.137.27.103**
**Name: jimapinternal.imap.mail.g03.yahoodns.net**
**Address: 67.195.228.138**
- Connecting directly to look at the IMAP4 responses shows that both return MESSAGELIMIT=10000. This shouldn't be too surprising since they both resolve to the same IP address.
openssl s_client -connect export.imap.mail.yahoo.com:993 -crlf -quiet
a1 login ******@cousins.org xxxxxxxxxxxxxxx
a1 OK [CAPABILITY IMAP4rev1 ID MOVE XYMHIGHESTMODSEQ UIDPLUS LITERAL+ CHILDREN UNSELECT X-MSG-EXT OBJECTID IDLE ENABLE UIDONLY X-ALL-MAIL X-UIDONLY LIST-EXTENDED LIST-STATUS SPECIAL-USE **MESSAGELIMIT=10000** X-MESSAGEPAGELIMIT=10000 PARTIAL APPENDLIMIT=41697280] LOGIN completed
openssl s_client -connect imap.mail.yahoo.com:993 -crlf -quiet
a1 login ******@cousins.org xxxxxxxxxxxxxxx
a1 OK [CAPABILITY IMAP4rev1 ID MOVE XYMHIGHESTMODSEQ UIDPLUS LITERAL+ CHILDREN UNSELECT X-MSG-EXT OBJECTID IDLE ENABLE UIDONLY X-ALL-MAIL X-UIDONLY LIST-EXTENDED LIST-STATUS SPECIAL-USE MESSAGELIMIT=10000 X-MESSAGEPAGELIMIT=10000 PARTIAL APPENDLIMIT=41697280] LOGIN completed
- Selecting INBOX returns what looks like a valid UIDVALIDITY value. This is used by clients to detect changes in the internal message IDs. Assuming the server always returns 1, this tells the client that the UID values for the messages have not changed (and therefore a client's local copies are valid). However, something is causing clients to want to resync everything.
a2 select INBOX
\* 10000 EXISTS
\* 0 RECENT
\* OK [**UIDVALIDITY 1**] UIDs valid
\* OK [UIDNEXT 231430] Predicted next UID
\* FLAGS (\Answered \Deleted \Draft \Flagged \Seen $Forwarded $Junk $NotJunk)
\* OK [PERMANENTFLAGS (\Answered \Deleted \Draft \Flagged \Seen $Forwarded $Junk $NotJunk)] Permanent flags
\* OK [HIGHESTMODSEQ 130458]
\* OK [MAILBOXID (1)] Ok
a2 OK [READ-WRITE] SELECT completed; now in selected state
MESSAGELIMIT is documented as an extention to IMAP4 but it is still in DRAFT status:
https://www.ietf.org/id/draft-ietf-extra-imap-messagelimit-00.html
My guess is that the switch bacl several months ago to export.imap.mail.yahoo.com was some kind of temporary rollback, and what we're seeing now is the same as what was originally reported since the two now seem to be the same servers.