I see phantom unread mail often: on the Mac, on the iPhone, on the iPad. There doesn’t seem to be any rhyme or reason to it and nothing I’ve done clears the phantom emails consistently except every once in a while quitting and restarting Mail seems to do it.
I have seen this behavior with smart mailboxes intermittently but with annoying frequency. I have tried many, many things to fix it such as rebuilding mailboxes, deleting and recreating the mail indexes, and the like. The only thing I have had success with (not perfect, but success) is to remove all mail from Inbox (even though there are no unread messages there) and, after the unread count on the smart mailbox returns to zero (on a good day) move them back.
Of course, my smart mailbox is different from yours and specifically references Inbox, so this solution might not apply to you, but it’s worth a try.
I have given up trying to find these phantom emails. On a Mac I tend to rely on the unread email count in the Dock Mail icon. My understanding is that this is based on macOS/Unix rather than the Apple Mail app.
If this is an IMAP account? Every time I have had ghost or zombie messages, logging into my account via my ISP’s webmail interface provided the answer that it was a server-side glitch and deleting the message there resolved it.
@Dafuki quitting and restarting Mail doesn’t have any effect. @Ron the mailbox contains no messages, so there’s nothing to delete. @bb1 the smart mailbox would include messages to accounts at iCloud, Google and MS. I can’t log in and delete the “message”, because it doesn’t exist!
I tried rebuilding all mailboxes yesterday. Took hours and had precisely no effect. Ah well; it’s not a huge issue.
This has been happening since Ventura at least. The collected folder in Favorites, “All Junk”, will occasionally report a single unread message that doesn’t show up when you turn on the unread filter. My typical junk triage is to look at all unread messages, select all, mark as read, and depend on the 30 day deletion option that’s either server-side or in the account settings for junk to delete junk.
If you expand All Junk to the individual accounts, it will show which account has an unread message, but clicking on that account has the same issue - the unread filter doesn’t show the one unread message. Turning off the filter and scrolling always shows the message that’s unread, but, weirdly, marking as read doesn’t actually mark the message read.
At this point I usually delete that one message.
FWIW, this seems to happen always with my Gmail account.