Howto: Backup eines IMAP-Accounts | Blog (2024)

Wer sich nur auf die Backups seines E-Mail-Providers verlässt, kann im schlimmsten Fall ohne E-Mails da stehen. Da ist es immer gut, wenn man ein Backup seiner Daten hat. Und mit bordeigenen Mitteln geht dies unter Linux recht einfach.

Ich habe meine E-Konten bei einem Anbieter, der mir die Möglichkeit zum Abruf per IMAP bietet. Was sehr praktisch ist, denn dadurch verbleiben die E-Mails auf dem Server und ich kann mit verschiedenen Geräten darauf zugreifen. Doch wie fertigt man nun ein lokales Backup dieser Daten an, das man sichern und wie ein Archiv nutzen kann? Da ich auf meinen Rechnern Debian/GNU mit seinem riesigen Software-Angebot nutze, bietet es sich natürlich an, dies mit Bordmitteln zu erledigen. Nach einer kurzen Recherche habe ich auch das Tool meiner Wahl gefunden, das sich über die Debian-Repositories installieren lässt: offlineimap

Das praktische von an offlineimap ist auch, dass sich damit mehrere Accounts gleichzeitg synchronisieren lassen. Die gesicherten Accounts lassen sich im Maildir-Format speichern und ermöglichen dadurch den Zugriff durch jeden Maildir-fähigen Mail-Client wie z.B. Balsa.

Installation von offlineimap

offlineimap ist im Standard-Repository von Debian Buster dabei und wird ganz einfach mit apt installiert:

apt updateapt install offlineimap

Konfiguration von offlineimap

Das Programm offlineimap erwartet bei Starten seine Konfiguration in der Datei .offlineimaprc im $USER-Home. Alternativ kann man auch durch die Option -c eine andere Konfigurations-Datei angeben.

Zuerst holt man sich den SSL-Fingerprint seines E-Mail-Accounts für den verschlüsselten Aufbau einer Verbindung mit folgendem Befehl:

openssl s_client -servername imap.EMAIL_ANBIETER -connect imap.EMAIL_ANBIETER:993 | openssl x509 -fingerprint -noout

Bei -servername und -connect trägt man die entsprechenden Vorgaben seines Anbieters für eine per SSL-verschlüsselte Verbindung ein.

Das liefert dann zB dieses Ergebnis für den Anbieter web.de:

openssl s_client -servername imap.web.de -connect imap.web.de:993 | openssl x509 -fingerprint -nooutdepth=2 C = DE, O = T-Systems Enterprise Services GmbH, OU = T-Systems Trust Center, CN = T-TeleSec GlobalRoot Class 3verify return:1depth=1 C = DE, O = T-Systems International GmbH, OU = T-Systems Trust Center, ST = Nordrhein Westfalen, postalCode = 57250, L = Netphen, street = Untere Industriestr. 20, CN = TeleSec ServerPass Extended Validation Class 3 CAverify return:1depth=0 businessCategory = Private Organization, serialNumber = HRB 7666, jurisdictionL = Montabaur, jurisdictionST = Rheinland-Pfalz, jurisdictionC = DE, C = DE, ST = Rheinland-Pfalz, L = Montabaur, O = 1&1 Mail & Media GmbH, CN = smtp.web.deverify return:1SHA1 Fingerprint=31:12:CB:24:9A:63:8C:6F:C9:85:65:3E:B7:52:EB:E0:76:73:9B:C2

Nun legt man die Config-Datei .offlineimaprc an. Diese kann wie erwähnt auch mehrere Accounts enthalten, die bei [general] durch Komma getrennt definiert werden. Leider wird in der Konfigurations-Datei das Passwort nicht verschlüsselt angegeben, aber dazu komme ich später noch.

Hier eine Beispiel-Config für zwei Accounts bei dem fiktiven Anbieter MAILcom. Bei den Punkten remotehost, remoreuser und remotepass trägt man die Vorgaben seines Anbieters ein, die man so auch zB bei Thunderbird eingibt. Das Verzeichnis, in das gesichert werden soll, legt offlineimap selber an. Das dazugehörige Oberverzeichnis sollte man aber vorher anlegen. Bei dem folgenden Beispiel ist dies /Mail im $USER-Verzeichnis.

 [general] accounts = hansi, rudi [Account hansi] localrepository = hansi-lokal remoterepository = hansi-host [Repository hansi-lokal] type = Maildir localfolders = ~/Mail/hansi [Repository hansi-host] type = IMAP remotehost = imap.MAILcom remoteuser = hansi@MAILcom remotepass = hansis_sehr_geheimes_passwort ssl = yes cert_fingerprint = 31:12:CB:24:9A:63:8C:6F:C9:85:65:3E:B7:52:EB:E0:76:73:9B:C2 # bei cert_fingerprint trägt man den Wert für seinen Hoster ein (s.o.) maxconnections = 4 [Account rudi] localrepository = rudi-lokal remoterepository = rudi-host [Repository rudi-lokal] type = Maildir localfolders = ~/Mail/rudi [Repository rudi-host] type = IMAP remotehost = imap.MAILcom remoteuser = rudi@MAILcom remotepass = rudis_sehr_geheimes_passwort ssl = yes cert_fingerprint = 31:12:CB:24:9A:63:8C:6F:C9:85:65:3E:B7:52:EB:E0:76:73:9B:C2 # bei cert_fingerprint trägt man den Wert für seinen Hoster ein (s.o.) maxconnections = 4 

Sichern mit offlineimap

Nun erfolgt der Aufruf von offlineimap:

offlineimap

Fertig! Jetzt sichert offlineimap brav den kompletten Mail-Account in den lokalen Ordner, der bei localfolders angegeben wurde. Dabei wird bei jedem erneuten Aufruf von offlineimap das lokale Backup angepasst, d.h. der Mail-Account wird gespiegelt und auf dem IMAP-Server gelöschte Mails werden auch lokal gelöscht. Aus diesem Grund iat es sinnvoll, zB per rsync in regelmäßigen Abständen einen Schnappschuss des lokalen Mail-Verzeichnisses anzulegen. Denn sonst kann es passieren, dass das besten Backup nichts nützt, wenn man lokal die irrtümlich auf dem Server gelöschten Mails ebenfalls durch offlineimap löscht. Und es erst hinterher merkt…

Und was ist mit der Sicherheit?

Wer die obige Konfiguration aufmerksam gelesen hat, dem wird sicher aufgefallen sein, dass das Passwort für den E-Mail-Account im Klartext gespeichert wird. Wie und ob das ein Problem ist, erörtere ich im nächsten Beitrag.

Howto: Backup eines IMAP-Accounts | Blog (2024)
Top Articles
Latest Posts
Article information

Author: Ms. Lucile Johns

Last Updated:

Views: 5771

Rating: 4 / 5 (41 voted)

Reviews: 80% of readers found this page helpful

Author information

Name: Ms. Lucile Johns

Birthday: 1999-11-16

Address: Suite 237 56046 Walsh Coves, West Enid, VT 46557

Phone: +59115435987187

Job: Education Supervisor

Hobby: Genealogy, Stone skipping, Skydiving, Nordic skating, Couponing, Coloring, Gardening

Introduction: My name is Ms. Lucile Johns, I am a successful, friendly, friendly, homely, adventurous, handsome, delightful person who loves writing and wants to share my knowledge and understanding with you.