Google-Mail lokal in HTML konvertieren und speichern

Eine kurze Anleitung wie man seinen Gmail-Account auf die lokale Festplatte unter Ubuntu syncronisiert und diese Mails dann in HTML umwandelt, damit man diese wegarchivieren und leicht öffnen kann.
Prinzipiell eignet sich diese Anleitung für alle IMAP-Konten.

Nach dem PRISM-Skandal, bei dem die NSA die Daten vieler großen amerikanischen Unternehmen wie Google, Microsoft, Apple und viele weitere abschnorchelt und sich der BND merkwürdigerweiße genau in diesem Moment zu Wort gemeldet hat, so etwas doch auch machen zu wollen, bin ich jetzt dabei langsam meine Daten auf meinen eigenen Server zurück zu holen.
Dazu habe ich mir auch einen eigenen Mailserver eingerichtet, um langsam vom Gmail wegzukommen. Natürlich möchte ich die Emails von meinem Googleaccount irgendwie behalten, auch wenn ich diesen später einmal löschen sollte und dafür eignet sich diese Archivierungslösung hier ganz gut.

Geholfen hat mir hierbei diese Anleitung, allerdings muss man noch ein paar Ergänzungen vornehmen.

1. Benötigte Tools installieren

Das Ubuntu Repository hält alle benötigten Tools bereit.

offlineimap

Mit ‘offlineimap’ wird das IMAP-Konto von Google Mail mit der lokalen Festplatte syncronisiert und es werden alle Emails herruntergeladen.

$ apt-get install offlineimap

mhonarc

Mhonarc erlaubt es einzelnde Maildir-Ordner, welches offlineimap verwendet, mit den dort enthaltenden Emails in HTML zu konvertieren.

$ apt-get install mhonarc

2. Konfigurieren von offlineimap

Zuerst sollte sichergestellt sein, dass in den Settings des Gmail-Accounts, das Abrufen mittels IMAP erlaubt wurde.

Nun erstellt Ihr in Eurem Homeverzeichniss die folgende Datei ‘~/.offlineimaprc’.
`deineemailadresse@gmail.com` bitte ersetzen.

~/.offlineimaprc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[general]
accounts = Gmailaccount

[Account Gmailaccount]
localrepository = Local
remoterepository = Remote

[Repository Local]
type = Maildir
localfolders = ~/Gmailaccount

[Repository Remote]
type = Gmail
remotehost = imap.googlemail.com
remoteuser = deineemailadresse@gmail.com
sslcacertfile = /etc/ssl/certs/ca-certificates.crt

3. Konfigurieren von mhonarc

Da mhonarc nicht so gut mit den verschieden Ordner des Maildir umgehen kann, brauchen wir noch ein kleines Hilfskript, welches ich auf der oben genannten Seite von Ben gefunden habe. Ihr könnt dies auch in Eurem Homeverzeichniss speichern.

~/maildir2mhonarc.sh
1
2
3
4
5
# author: ben lumley
# usage: ./maildir2mhonarc.sh <source maildir root path> <destination path>
mailroot=$1;
archive=$2;
find $mailroot -type d -regex ".*\(new\|cur\)" -exec mhonarc -mhpattern '^[^\.]' -add {} -outdir $archive \;

Und nur noch ausführbar machen mit chmod 755 maildir2mhonarc.sh.

4. Download und Konvertierung der Mails

Jetzt bist Du bereit, um Deinen Gmail-Account zu archivieren.

Download der Emails

$ offlineimap

Es sollte nun nach Deinem Mailpasswort gefragt werden.
Wenn Dein Konto schon ein wenig älter ist dauert es nun ein bisschen.

Konvertierung der Mails

Erstelle den Zielorder:

$ mkdir GmailaccountHTML

Führe das Skript aus:

$ ./maildir2mhonarc.sh Gmailaccount GmailaccountHTML

Fertig!
Nun kannst Du die Email im HTML-Format wegspeichern und später bei Bedarf mit jeden HTML-Anzeigegerät darauf zugreifen.

Es sind Deine Daten.