Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

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

share|improve this question

5 Answers 5

up vote 10 down vote accepted

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)

share|improve this answer

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.

share|improve this answer
    
Does Synchronize sync the contents non-Inbox IMAP folders? Example, when I move a message from Inbox to another folder and then do a Synchronize - will I see that message no longer in the Inbox but in the other folder on a web client or other client? –  Owen Apr 18 '11 at 16:03
1  
@Owen For your example, Mail should already have taken care of doing that for you. You should only Synchronize if you moved your mail to another folder, went to the web interface and saw that the mail is still in the inbox (maybe if there was a network problem, or something). I'll update my answer. –  Loïc Wolff Apr 18 '11 at 16:31

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.

share|improve this answer
1  
Nice call out that synchronize also explicitly checks for new folders on IMAP. Somehow I missed that in my attempt at an encyclopedia answer. ;-) –  bmike Jul 5 '11 at 12:54

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.

share|improve this answer

It also comes in handy when using applescript to move mail from one mail box to another or when deleting mail.

As an example, if you write an Applescript program to delete the mail in your SPAM folder, that will seem to work fine. On your Mac, the deleted messages no longer appear in the Spam folder, but do appear in the trash folder.

But if you run that applescript a second time, it will think that the deleted messages are still in the Spam folder and will process them again.

This is because the list of messages in the trash on the server and the list of messages in the trash on the Mac are out of sync. You have to add this

set allAccounts to every account
repeat with theAccount in allAccounts
    synchronize with theAccount
end repeat

to the end of your script to get the IMAP server and your Mac back in sync.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.