How do I limit caching in Mail for Mavericks?

I have a really low capacity MacBook Air. Earlier this year, I discovered I could keep it usable without a bunch of "running low on disk space" warnings by limiting the caching performed by Safari and Mail. In Safari it was easy, it's in Preferences, but in Mail it was a bit buried - select the account, advanced tab, and then "don't keep copies of any messages".

Problem is, it seems like in Mavericks this preference is gone. Is there an equivalent? I'm out of room on my Air once again.


Solution 1:

After looking through the updates to Mail in Mavericks, it looks like I have bad news. There does not appear to be any way to disable Mail in Mavericks from storing local copies of messages (of course, you can save some space by preventing Mavericks from storing local copies of attachments).

If you are hard-pressed for space to the point where a few GB of local mail storage is of particular concern, then your best bet is likely either to use an email service which supports automatic message archiving (so that you can search through an archive which is stored on the server, thus freeing space on your machine that the archived messages would have taken) or routinely remove messages from your inbox and store them elsewhere (e.g., on a NAS). As it seems your goal is to have your messages readily accessible for search and other purposes, the first option is probably more likely to suit your needs.

One possible way to set up the second option (i.e., routinely moving messages out of your inbox) might work well for you. What you'll want to do is create a rule which automatically forwards your email to a second account (what email service you use for this account is entirely up to you) and then deletes the forwarded email from your inbox (you could have this done automatically once the messages is read/a certain numbers of days old or via a keyboard shortcut, whichever is preferable). This way, your local storage will remain small (only unread messages or recent messages, depending upon how you configure your rule), but the external account will have a complete archive of your messages. You can then access this archive in your browser without impacting available local free space.

Solution 2:

With GMail, you can slightly aleivate this problem with:

Settings > Forwarding and POP/IMAP > Folder Size Limits > Limit IMAP folders to contain no more than this many messages = 1000

Also, in Mac Mail you can still disable Automatically download attachments.

This will leave you with the text of latest 1000 messages from each GMail label.

Solution 3:

There is no way to stop Mail from caching everything in Mavericks.

**The *only thing you can do is tell it to stop caching attachments only. Check under Preferences -> Accounts -> Advanced tab... the third checkbox from the top, uncheck "Automatically download attachments"

Solution 4:

My impression is OS X Mail is undergoing a fundamental re-invention to make it more of a service and less of the app it was.

  • It uses more database files to track things than in the past were simply files in the filesystem.
  • Search uses spotlight and there is lag on slower computers between when you launch the app and when mail messages get drawn causing many to feel that the whole architecture is rickety and more prone to error.
  • Turning on and off accounts often causes odd behavior where flagged message counts don't update.
  • It uses more helpers to parallelize internal message handling workflows and this also introduces more complexity, chance for things to break or get hung up when you want to quit mail or delete a message and the mail server is slow or unavailable.
  • It is being reworked to embrace Apple's new technologies like PowerNap / AppNap / etc... and some old behaviors that don't mix well with those changes are being eliminated.

For people used to Outlook, Apple's Mavericks Mail always works as if it's in Offline mode - caching all messages it can so you never find yourself missing old mails when working without a network connection.

Mail.app downloads each and every IMAP message it can get it's hand on in each and every folder that it know that exists.

Unless you want to use another email client that has this functionality (and google maintains that most clients work the way you want), you'll have to keep your total IMAP message and attachment storage under the allocation that you want on OS X.

There have been server side changes on GMAIL to allow this sort of filtering of folders (a.k.a. labels) on the server side. (This filtering is really needed if you have multiple labels on a message since you can end up with five or more copies of one mail message in this case.) The people I have seen that choose to not deal with Mail's bumpy changes are moving either to MailMate or in some cases using mutt/pine/elm if they had used those mail clients back in the day and work mostly with mail as a text bucket.

Apple does have Exchange functionality on iOS to limit downloading to a time range, but that also needs server-side functionality to work. The benefit of iOS Mail is that downloaded content will auto-expunge if storage space on the flash hits warning and critical levels. Only if enough people send feedback or bug reports to Apple do I expect the OS X Mail to change.