I did some testing via imap to understand difference between imap.mail.yahoo.com and export.imap.mail.yahoo.com and discovered the following:
using imap.mail.yahoo.com
| > openssl s\_client -connect imap.mail.yahoo.com:993 -crlf -quiet
depth=2 C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert High Assurance EV Root CA
verify return:1
depth=1 C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert SHA2 High Assurance Server CA
verify return:1
depth=0 C = US, ST = California, L = Sunnyvale, O = Oath Holdings Inc., CN = \*.imap.mail.yahoo.com
verify return:1
\* OK Welcome! IMAP Server up and ready to accept your request
tag login {my yahoo email} {my yahoo app password}
tag OK [CAPABILITY IMAP4rev1 ID MOVE NAMESPACE XYMHIGHESTMODSEQ UIDPLUS LITERAL+ CHILDREN UNSELECT X-MSG-EXT OBJECTID IDLE ENABLE UIDONLY X-ALL-MAIL X-UIDONLY LIST-EXTENDED LIST-STATUS SPECIAL-USE MESSAGELIMIT=1000 PARTIAL APPENDLIMIT=41697280] LOGIN completed
tag capability
\* CAPABILITY IMAP4rev1 ID MOVE NAMESPACE XYMHIGHESTMODSEQ UIDPLUS LITERAL+ CHILDREN UNSELECT X-MSG-EXT OBJECTID IDLE ENABLE UIDONLY X-ALL-MAIL X-UIDONLY LIST-EXTENDED LIST-STATUS SPECIAL-USE MESSAGELIMIT=1000 PARTIAL APPENDLIMIT=41697280
tag OK CAPABILITY completed
tag STATUS INBOX (MESSAGES)
\* STATUS "Inbox" (MESSAGES 39499)
tag OK STATUS completed
tag select inbox
\* 10000 EXISTS
\* 0 RECENT
\* OK [UIDVALIDITY 1301025799] UIDs valid
\* OK [UIDNEXT 610530] 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 170930]
\* OK [MAILBOXID (1)] Ok
tag OK [READ-WRITE] SELECT completed; now in selected state
tag enable uidonly
\* ENABLED UIDONLY
tag OK ENABLE completed
tag select inbox
\* 39499 EXISTS
\* 0 RECENT
\* OK [UIDVALIDITY 1301025799] UIDs valid
\* OK [UIDNEXT 610530] 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 170930]
\* OK [MAILBOXID (1)] Ok
tag OK [READ-WRITE] SELECT completed; now in selected state
using export.imap.mail.yahoo.com
| > openssl s\_client -connect export.imap.mail.yahoo.com:993 -crlf -quiet
depth=2 C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert High Assurance EV Root CA
verify return:1
depth=1 C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert SHA2 High Assurance Server CA
verify return:1
depth=0 C = US, ST = California, L = Sunnyvale, O = Oath Holdings Inc., CN = \*.imap.mail.yahoo.com
verify return:1
\* OK Welcome! IMAP Server up and ready to accept your request
tag login {my yahoo email} {my yahoo app password}
tag OK [CAPABILITY IMAP4rev1 ID MOVE NAMESPACE XYMHIGHESTMODSEQ UIDPLUS LITERAL+ CHILDREN UNSELECT X-MSG-EXT OBJECTID IDLE ENABLE UIDONLY X-ALL-MAIL X-UIDONLY LIST-EXTENDED LIST-STATUS SPECIAL-USE MESSAGELIMIT=1000 PARTIAL APPENDLIMIT=41697280] LOGIN completed
tag capability
\* CAPABILITY IMAP4rev1 ID MOVE NAMESPACE XYMHIGHESTMODSEQ UIDPLUS LITERAL+ CHILDREN UNSELECT X-MSG-EXT OBJECTID IDLE ENABLE UIDONLY X-ALL-MAIL X-UIDONLY LIST-EXTENDED LIST-STATUS SPECIAL-USE MESSAGELIMIT=1000 PARTIAL APPENDLIMIT=41697280
tag OK CAPABILITY completed
tag STATUS INBOX (MESSAGES)
\* STATUS "Inbox" (MESSAGES 39499)
tag OK STATUS completed
tag select inbox
\* 39499 EXISTS
\* 0 RECENT
\* OK [UIDVALIDITY 1301025799] UIDs valid
\* OK [UIDNEXT 610530] 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 170930]
\* OK [MAILBOXID (1)] Ok
tag OK [READ-WRITE] SELECT completed; now in selected state
tag enable uidonly
\* ENABLED UIDONLY
tag OK ENABLE completed
tag select inbox
\* 39499 EXISTS
\* 0 RECENT
\* OK [UIDVALIDITY 1301025799] UIDs valid
\* OK [UIDNEXT 610530] 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 170930]
\* OK [MAILBOXID (1)] Ok
tag OK [READ-WRITE] SELECT completed; now in selected state
The only difference in the two imap outputs above is the number of emails in "exists" upon selecting inbox.
With export.imap.mail.yahoo.com I get all 39499 messages, with imap.mail.yahoo.com I get 10000 messages.
However, if you set the UIDONLY flag, even on imap.mail.yahoo.com, selecting inbox will show all 39k messages. So it seems to be having an effect.
As mentioned elsewhere, the UIDONLY flag seems to be detailed in a draft IMAP extension which was recently updated (March 3 2023: https://datatracker.ietf.org/doc/draft-ietf-extra-imap-uidonly/ ). I don't know how that process works.
My guess is none of the 3rd party tools implement UIDONLY as yet.
This seems pretty clear evidence to me at least that this setting comes from Yahoo - esp since the default tools that connect to yahoo will just use imap.mail.yahoo.com.
I found some documentation in Yahoo's developer documentation which hints at this as well
https://senders.yahooinc.com/developer/documentation/#imap-modes-limitedHowever, that Yahoo documentation also talks about MESSAGELIMIT, which in the IMAP results above is "1000" not "10000", so I don't understand how MESSAGELIMIT plays into things here.https://senders.yahooinc.com/developer/documentation/#imap-modes-limitedAsAs to experienced behavior, I haven't tried using the export URL locally, as I've seen reports here about other issues that crop up. With regular imap on OSX mail, I am limited to 10k per folder.
Hopefully some imap gurus can look at this and dig further to discern other differences between the two servers, and maybe understand what is causing 'recycling' (I don't really understand that what means).