Skip to content
Benny Kjær Nielsen edited this page Dec 2, 2017 · 6 revisions

Developer Documentation



Microsoft Exchange


Clone this wiki locally

UID Mismatch

UPDATE (October, 2017): According to Yahoo this issue has been fixed, but I'm going to keep this page around for a while until I'm sure this is correct. For now, thanks Yahoo!

You are probably reading this because you got an error message like this from MailMate:

Detected mismatch in UIDs received from server (previous value: X, new value: Y).

The problem is that X ≠ Y and this makes it impossible for MailMate to reliably continue to synchronize the mailbox. If MailMate ignores the problem by assuming that X or Y is the correct value then there is a risk that the mapping between emails on the server and locally is going to be incorrect. Implicitly, this means that the user might, e.g., delete wrong messages in the future — even worse, the user might not notice that this happens for a very long time.

The problem has been reported and discussed here and the bug itself has been described in a blog post here.

It might help if you use the Yahoo webmail client to clean up the mailbox. Maybe empty it if the junk or trash mailbox is involved.

If you think you have helpful information about the issue or maybe some kind of workaround then please contact me (the developer) using “Help ▸ Send Feedback”.

Finally, please report the issue to Yahoo.

  • Do you really not have a workaround for this issue?

    Well, there is an experimental workaround which can be enabled like this:

      defaults write com.freron.MailMate MmYahooMismatchWorkaroundEnabled -bool YES

    In some cases it ignores the second UID reported and in other it gives up on fetching the message involved and replaces it with a dummy message. This way the user should still know that something is wrong before trying to delete it. (This part is actually always enabled.)

  • I don't have this issue with email client X?

    Well, X might somehow not trigger the server bug. More likely (and worse), it fails to detect the issue.