2010-11-14

Gmail: Von Mail.app POP zu IMAP

Ziel

Sämtliche in Mail.app gespeicherten E‑Mails sollen nach Gmail hochgeladen werden, um Gmail anschließend über IMAP zu verwenden.

Nach dem Hochladen sollen in Gmail die Postfächer Inbox, Sent und Trash genau so viele E‑Mails enthalten wie zuvor in Mail.app. So wäre es sicher wahrscheinlich, dass keine E‑Mails verloren gingen.

Aufgetretene Probleme

1) Hatte ich nicht mehr E‑Mails?

Mail.app zeigte nicht alle auf der Festplatte gespeicherten E‑Mails an, da der Index unvollständig war.

2) Hatte ich nicht mehr E‑Mails hochgeladen?

In Gmail kamen weniger E‑Mails an, als ich hochgeladen hatte. Hierfür gab es zwei Gründe:

  1. Falsch eingeordnete E‑Mails: Gesendete E‑Mails in der Inbox oder empfangene E‑Mails in Sent. Beim Hochladen verschiebt Gmail diese in das jeweils andere Postfach.
  2. Mehrere identische E‑Mails (Duplikate): Beim Hochladen von identischen E‑Mails behält Gmail nur die zuletzt hochgeladene Kopie. Das Duplikat wird gelöscht, selbst wenn es in einem anderen Postfach gespeichert ist.

Lösung

1) Versteckte E‑Mails wiederherstellen

Um sicher zu gehen, dass Mail.app wirklich alle auf der Festplatte gespeicherten E‑Mails anzeigt, kann der Index jedes Postfachs neu erstellt werden. Hierzu das jeweilige Postfach auswählen und im Menü Postfach > Wiederherstellen wählen.

2.1) Inbox und Sent überprüfen

Falsch eingeordnete E‑Mails in Inbox oder Sent sind mit der Suchfunktion von Mail.app schnell zu finden und können in das korrekte Postfach verschoben werden.

2.2) Duplikate löschen

Leider fand ich für Mail.app keine (funktionierende) Möglichkeit, Duplikate zu löschen. Abhilfe schaffte Thunderbird mit dem exzellenten Add-on Remove Duplicate Messages.

E‑Mails von Mail.app in Thunderbird importieren

Thunderbird kann über Tools > Import Postfächer aus Mail.app importieren. Es empfiehlt sich jedoch, alle importierten Postfächer zu überprüfen. Bei mir wurden hunderte E‑Mails fehlerhaft importiert, zum Beispiel ohne Betreff und mit Datum vom 01.01.1970…

In diesem Fall müssen sämtliche Postfächer in Mail.app zuerst über Postfach > Archivieren im mbox-Format gespeichert werden.

mbox-Dateien können wie Ordner geöffnet werden. Sie enthalten eine hier nicht benötigte Datei table_of_contents und eine Datei mit dem Namen mbox, welche die gespeicherten E‑Mails enthält.

Die Datei mbox wird nun aus allen archivierten Postfächern in den Library-Ordner von Thunderbird verschoben. Der Pfad lautet:

~/Library/Thunderbird/Profiles/*******.default/Mail

Nach einem Neustart von Thunderbird werden nun die (hoffentlich fehlerfreien) Postfächer als lokale Ordner angezeigt.

Duplikate löschen

Mit dem installierten Add-on können nun die Duplikate ordnerübergreifend gelöscht werden. Hierzu alle importierten Postfächer gleichzeitig markieren und per Kontextmenü (Rechtsklick auf eines der markierten Postfächer) Remove Duplicate Messages aufrufen.

Im den Einstellungen des Add-ons kann bei Bedarf festgelegt werden, welche Kriterien bei der Suche angewendet werden und welche Kopie einer E‑Mail gelöscht werden soll.

3) E‑Mails hochladen

Da sich die nun vorbereiteten E‑Mails bereits in Thunderbird befinden, bietet es sich an, diese direkt mit Thunderbird hochzuladen. Mein Versuch an dieser Stelle, die E‑Mails von Thunderbird wieder (fehlerfrei) nach Mail.app zu importieren, scheiterte kläglich… und ist glücklicherweise nicht notwendig.

Zum Hochladen wird in Thunderbird zuerst das Gmail-Konto eingerichtet. Nicht vergessen: IMAP wählen und nicht POP…

Die E‑Mails können nun in die entsprechenden Gmail-Ordner kopiert werden. Ich habe meine empfangenen E‑Mails in Inbox, meine gesendeten E‑Mails in Sent Mail kopiert. Wahrscheinlich könnten beide auch in All Mails kopiert werden, was ich aber nicht ausprobiert habe.

Sonderfall: Trash

Soll das Postfach Trash hochgeladen werden, wird noch ein weiterer Trick benötigt. Direkt in den Gmail-Trash kopierte E‑Mails, verschwinden meist sofort wieder. Ich vermute, dass nur E‑Mails der letzten 30 Tage nicht sofort gelöscht werden.

Umgangen werden kann dies, indem in Gmail ein neues Label (z. B. MyTrash) erstellt wird. Dorthin kann das Postfach Trash hochgeladen werden. Werden die E‑Mails anschließend gelöscht, verbleiben sie für die gewohnte Dauer von 30 Tagen im Gmail-Trash.

Archivierte E‑Mails

Sollen hochgeladene E‑Mails, wie alle in Gmail archivierten E‑Mails, nicht im Postfach Inbox angezeigt werden, müssen sie lediglich nach All Mails hochgeladen werden.

Glückwunsch

… falls sich nun genau so viele E‑Mails in den Gmail-Postfächern befinden wie zuvor in Mail.app.