What does Synchronize mean in Mail.app?

In Mail.app, what does Synchronize actually do? How is it different than "Get New Mail?"


Mail talks to the mail server to show you messages. Only IMAP accounts can be synchronized as that is a formal way for the server and the mail client on your mac to double check all messages to make sure everything is in sync between the two.

Get mail focuses on the Inbox and relies on the Mail app having a "correct" view matching the data on the mail server.

Synchronize allows for noise/errors/lost messages, incorrect statuses and other real life bumps and errors. It basically double counts and double checks each and every message to make sure things are 100% correct. Synchronize also checks all folders recursively to get everything accounted for - not just the subset of folders that are marked as having new mail.

Even more "deep cleaning" would be if you told mail to rebuild the account or the mailbox. That means that the local storage that mail uses on your mac has problems getting mail or synchronizing. It's the last step before deleting the account and starting over to download things cleanly from the server.

In a nutshell - synchronize should normally do nothing - but it will fill in any gaps as needed. (of course it will get new mail as part of a total synchronization - but it's going to be a lot slower and use more resources on the mac than just asking for new mail)


Get Mail will only fetch for new mail in the Inbox.

Synchronize will look for changes in the IMAP configuration, it will look for changes in the folder structure of your account, and probably a lot more.

Edit: Synchronize should not be something you do every time you Mail. It's to force Mail to update the conf/folders of you IMAP account. Like if there's a network and it's not syncing anymore. But usually, when moving, deleting, etc. Mail is already taking care of updating where it needs to be updated.


Synchronize is also useful to get two (or more) machines back in sync. If I make folder or configuration changes on one Mac, I will run Synchronize on the other Mac to make the second Mac aware of the changes.

I've also found that Synchronize has solved an occasional problem I've had where a message appears on one machine but not the other.


Loic Wolff -- Get Mail will only fetch for new mail in the Inbox.

Negrino -- I've also found that Synchronize has solved an occasional problem I've had where a message appears on one machine but not the other.

This combination of answers is probably the best for explaining why you would care about Get Mail vs Synchronize in Mail.app

It comes into play when you've got an IMAP account on your iphone (or other mobile device) and in your Mail.app (as one example).

If you skim a few emails on your phone, IMAP will mark them as read, then when you go to your Macbook or Mac that is asleep and has Mail.app running, and you open the lid or take the Mac out of sleep mode and hit Get Mail, it's only going to get "New" (unread) messages, not the ones you skimmed on your mobile device. So this means NOT new to the MAC, new to the IMAP account user. Your mac was asleep when the mail came in and was marked as read, so it's going to skip those. So, it'll look like messages are missing. The quickest way to end this frustration, is if you've let your mac go into sleep mode, do a quick cmd-q and reopen Mail, which will force a sync and get all "new" messages including ones you've read on your phone.

bmike/negrino said all the rest.