Maak Mail op je Mac weer snel met een handig trucje!

Als je Mail een tijdje gebruikt kan deze trager worden, zeker als je veel email hebt. Met name tijdens het zoeken zul je merken dat het na verloop van tijd steeds trager gaat.

Door middel van een handig trucje kun je de “envelope index” (een database die Mail gebruikt om sneller te zoeken dan Spotlight zou kunnen) opruimen, wat de snelheid bevordert.

Let op dat je Mail eerst afsluit voor je de volgende stappen doorloopt.

  1. Start de Terminal op via Programma’s => Hulpprogramma’s => Terminal
  2. Update: backups zijn altijd verstandig, maar voor we iets als dit gaan doen natuurlijk extra verstandig! Type daarom eerst het volgende commando: cp ~/Library/Mail/Envelope\ Index ~/Library/Mail/Envelope\ Index.bak om een kopie te maken van de database
  3. Type het volgende commando in: sqlite3 ~/Library/Mail/Envelope\ Index vacuum index;
  4. Even wachten en klaar!

Hoeveel je precies bespaart verschilt per persoon, maar je kunt dit controleren door een paar extra stappen:

  1. Na het opstarten van de terminal (maar vóór je het sqlite3-commando intypt!) type je eerst: ls -lh ~/Library/Mail/Envelope\ Index
  2. Vervolgens type je het clean-commando: sqlite3 ~/Library/Mail/Envelope\ Index vacuum index;
  3. En dan bekijk je weer de grootte: ls -lh ~/Library/Mail/Envelope\ Index

De output van ls -lh ~/Library/Mail/Envelope\ Index ziet er bijvoorbeeld zo uit (met een Envelope Index van 21MB):

  -rw-r--r--  1 martijnengler  staff    21M May 11 12:44 /Users/martijnengler/Library/Mail/Envelope Index

Door dit commando af en toe te draaien kun je je Mail fijn snel houden!

Wat vind je van deze hack?
0Te gek0Leuk0Serieus?0Meh...0Stom

About Author

11 Comments

  • Robbert
    Posted 18/05/2009 5:18 pm 0Likes

    Haha ik ben van 5,6 naar 5,5 mb gegaan maar toch bedankt voor de tip.

    Heb sinds vandaag Gmail in mn mail gehangen, dus met nu 4 mailaccounts in Mail zal het allemaal een stuk sneller vollopen (was voorheen maar 1)

    Groet!

  • Martijn Engler
    Posted 17/05/2009 12:10 pm 0Likes

    Abel: Tijdens het schrijven moest ik hier de keuze maken tussen “alleen het essentiële eerst plaatsen” en “chronologische volgorde”.
    Ik heb er voor gekozen om eerst op te schrijven wat echt nodig is, en voor wie dat leuk vindt nog een extra tip. Sowieso kun je natuurlijk altijd de size van de backup checken. 😉

    Maar bedankt voor je advies, ik zal er rekening mee houden voor een volgend artikel.

  • Abel Schooleman
    Posted 16/05/2009 12:54 pm 0Likes

    Beste Martijn,

    Hele goeie tip, ook meteen uitgevoerd en met goed succes.
    Een kleine tip van mij echter bij het schrijven van een stappenplan, schrijf de stappen in chronologische volgorde op. Stap 5 zou eigenlijk stap 3 moeten zijn. Veel mensen beginnen meteen met het uitvoeren van het stappenplan en lezen ‘m niet eerst door. In dit geval gelukkig niet heel kritisch alleen missen ze het resultaat van de actie.

  • Martijn Engler
    Posted 15/05/2009 5:03 pm 0Likes

    Sam: heb je hier een bron voor? Ik betwijfel ten zeerste of je theorie klopt en kan er verder ook niets over vinden op internet.

  • Sam
    Posted 14/05/2009 7:49 pm 0Likes

    Hetzelfde principe maar sneller en makkelijker;
    Sluit Mail
    Sleep het uit je dock en laat het verdwijnen
    Zet het terug in je Dock vanuit “Programma’s”

    Dit reset ook ergens een cache geheugen waardoor het toch een stuk sneller kan verlopen.

  • Martijn Engler
    Posted 13/05/2009 5:15 pm 0Likes

    thom: Mail gebruikt intern een database met de onderwerpen en afzenders van emails om sneller te zoeken. Terwijl je mail “toevoegt” (ontvangt en verstuurt) en verwijdert ontstaat hier “fragmentatie”. Dingen die bij elkaar horen raken verspreid en er ontstaan lege plekken.
    Met het vacuum commando wordt deze fragmentatie opgelost en komt alles weer netjes op volgorde.

  • thom
    Posted 12/05/2009 3:11 pm 0Likes

    Ik heb een zeer trage mail op mac. Het is een bestand van ruim 4 gig. Ik zou het boeltje graag wat sneller willen hebben maar vraag mij af wat dit commando precies doet?

  • Martijn Engler
    Posted 12/05/2009 11:41 am 0Likes

    @Daan: fijn! 🙂

    @Sypie: het is zeker te automatiseren, een Applescript zou er als volgt uit kunnen zien:

    (display dialog “Mail wordt nu afgesloten zodat de database opgeschoond kan worden. Wil je doorgaan?” buttons {“Nee”, “Ja”})
    if button returned of result is “Ja” then
    tell application “Mail” to quit
    delay (10)
    do shell script “/usr/bin/sqlite3 ~/Library/Mail/Envelope\\ Index vacuum”
    tell application “Mail” to activate
    end if

    Dit script vraagt eerst om bevestiging voor Mail afgesloten wordt. Als je het script ’s nachts wilt laten draaien wanneer je toch niet in de buurt van je Mac bent kun je het als volgt doen:

    tell application “Mail” to quit
    delay (10)
    do shell script “/usr/bin/sqlite3 ~/Library/Mail/Envelope\\ Index vacuum”
    tell application “Mail” to activate

    De delay(10) pauzeert het script even, omdat Mail soms nog niet helemaal was afgesloten als het AppleScript al doorging tijdens mijn testjes. Door het even een beetje extra tijd te geven kon ik dit probleem voorkomen.

    @Martin: ai, dat is altijd even schrikken! Je bent de eerste die ik het hoor zeggen, maar ik zal voor de zekerheid toch even iets zeggen over het maken van een backup van de file.

  • Martin
    Posted 11/05/2009 10:46 pm 0Likes

    Vast heel leuk (ik had weinig te besparen, van 1,6M naar 1,4M), maar ik schrok wel: de mail in mijn inkomende box was weg!
    Mail uitzetten en weer aanzetten ‘loste’ het probleem weer op.

  • Sypie
    Posted 11/05/2009 5:35 pm 0Likes

    Zou je er niet een applescript of een automator dingetje van kunnen maken?

  • Daan Kortenbach
    Posted 11/05/2009 3:06 pm 0Likes

    Meteen gedaan en Mail is inderdaad sneller!

Comments are closed.