Mail.app quietly stores 10-30 GB: attachments, the hidden rules, and the safe cleanup

Apple Mail downloads and keeps every attachment you ever opened — PDFs from 2019, that one 200 MB video a client sent, everything. On older accounts the Mail store reaches 10-30 GB, counted inside System Data where Storage settings cannot help you.

Find yours

du -sh ~/Library/Mail 2>/dev/null
du -sh ~/Library/Mail/V*/MailData 2>/dev/null   # databases

Why deleting emails is not enough

Deleting a message moves it to Trash/Archive — attachments stay until the mailbox is erased, not just emptied from view. And Gmail accounts behave differently again: Mail.app only caches what Google lets it, and "Archive" keeps everything forever on the server.

The safe cleanup order

  1. Server first: delete the big attachments in webmail (Gmail: search has:attachment larger:10M; iCloud: sort by size in Mail).
  2. Then rebuild local: Mailbox → Rebuild, or for a stubborn store: quit Mail, move the account's folder out of ~/Library/Mail/V*, reopen and let it re-sync. Nothing on the server is touched.
  3. Cap the future: Mail → Settings → Accounts → account → Advanced: set "Automatically download attachments" to Recent instead of All. This single toggle prevents the regrowth.

Context

Mail joins Telegram (guide), Photos and the dev-cache family (npm/pip, Docker) in the hidden-gigabytes league — the full map lives in System Data explained, and the estimator sizes your own top offenders first.