Artikelformat

OS X Tipp: Apples Mail.app unter El Capitan beschleunigen //Update

Dass sich Apple mit seiner hauseigenen Mail.app immer wieder selbst auf den Füßen steht, zieht sich seit etlichen Jahren durch diverse OS X Versionen… Wobei man auch sagen muss, dass Mail, zumindest gefühlt, unter El Capitan wesentlich runder als noch unter Yosemite läuft.

Bildschirmfoto 2015-10-28 um 13.18.33-minishadow

Trotz alledem ist Mail auch unter El Capitan teilweise unerträglich langsam. Möchtest du nun aber nicht alternative Mailprogramme wie beispielsweise MailMate oder Airmail nutzen, kann das Entrümpeln des SQLite Indexes von Mail Wunder wirken und die App signifikant beschleunigen.

Was ist zu tun?

In Apples Script-Editor (~/Programme/Dienstprogramme) muss ein neues Dokument erstellt und nachfolgendes Script eingefügt werden.

Dabei darauf achten, dass, wie im Screenshot oben zu sehen, die Sprache auf AppleScript steht und das Ganze im Dateiformat Skript (.scpt) abgespeichert wird.

(*
Speed up Mail.app by vacuuming the Envelope Index
Code from: http://www.hawkwings.net/2007/03/03/scripts-to-automate-the-mailapp-envelope-speed-trick/
Originally by "pmbuko" with modifications by Romulo
Updated by Brett Terpstra 2012
Updated by Mathias Törnblom 2015 to support V3 in El Capitan and still keep backwards compability
*)

tell application "Mail" to quit
set os_version to do shell script "sw_vers -productVersion"
set mail_version to "V2"
considering numeric strings
    if "10.11" <= os_version then set mail_version to "V3"
    if "10.12" < os_version then set mail_version to "V4"
end considering

set sizeBefore to do shell script "ls -lnah ~/Library/Mail/" & mail_version & "/MailData | grep -E 'Envelope Index$' | awk {'print $5'}"
do shell script "/usr/bin/sqlite3 ~/Library/Mail/" & mail_version & "/MailData/Envelope\\ Index vacuum"

set sizeAfter to do shell script "ls -lnah ~/Library/Mail/" & mail_version & "/MailData | grep -E 'Envelope Index$' | awk {'print $5'}"

display dialog ("Mail index before: " & sizeBefore & return & "Mail index after: " & sizeAfter & return & return & "Enjoy the new speed!")

tell application "Mail" to activate


Nun kopiert man das erstellte Skript nach ~/Library/Scripts und kann es fortan über das Skriptmenü der OS X Menüleiste (muss vorher im Skript-Editor aktiviert werden) oder auch Schnellstartern wie Alfred oder LaunchBar manuell starten.

Das Skript ist außerdem abwärtskompatibel, so dass auch ältere Versionen von OS X davon profitieren.

Bildschirmfoto 2015-10-28 um 14.57.08

Vielleicht ganz grob zum Verständnis:
Mit diesem Skript wird Mail beendet, der Index bereinigt und Mail anschließend wieder gestartet. Dazu wird eine Meldung zur Größe des Mailindexes vor und nach der Bereinigung angezeigt.

Bildschirmfoto 2015-10-28 um 13.24.43-minishadow

(via)

Update - 05.09.2017

Ich habe das Skript gerade aktualisiert, damit es auch zu macOS 10.12 Sierra kompatibel ist.

Problematisch ist in diesem Zusammenhang die gesetzte Version von Mail, die bei Yosemite "V2", El Capitan "V3" und Sierra "V4" ist.

Autor: Björn

Ich bin Björn und quasi der COO von aptgetupdateDE. Ich kümmere mich um die PR und allerlei Kontaktaufnahmen zu Herstellern und Softwareentwicklern. Erreichbar bin ich bei Twitter und natürlich per E-Mail.

18 Kommentare