IMAP: Sicherung des Mailverkehrs (Eingang und Versendete Mails)

testit

Well-Known Member
Hallo,

ich bin nach wie vor ein großer Anhänger von POP3, weil es mir sehr wichtig ist, dass E-Mails bei MIR (auf meinen Rechnern) und nicht irgendwo auf einem angemieteten Server liegen.

Auf der anderen Seite bietet IMAP natürlich Vorzüge, die ich ebenfalls gerne nutzen würde, etwa jenen, dass ich auf allen MailClients (PCs, Smartphone etc.) die über alle Geräte versendeten Mails sehen kann.

Am liebsten wäre mir, dass bspw. stets nur der Mailverkehr der letzten 2 Wochen auf dem IMAP-Server vorgehalten wird und alles andere bereits bei mir lokal gesichert worden ist.

Mich würde interessieren, wie Ihr Backups von Eurem IMAP-Server realisiert habt?

Ich nutze bspw. Thunderbird auf dem PC. FreeBSD-seitig läuft Dovecot 2, postfix und Roundcube. Als Spamfilter rspamd.

Wenn ich das richtig verstanden habe, muss ich auf jedem meiner Geräte einstellen, dass er beim Versenden via SMTP eine Kopie in den Sent-Ordner des IMAP-Servers ablegt, damit später nach einer Synchronisation meiner unterschiedlichen E-MailClients jedes Gerät alle versendeten Mails auflisten kann.

Aber wie setzt man das am besten um, dass alle eingegangenen und versendeten Mails gesichert werden?
Man könnte vermutlich serverseitig die IMAP-Ordner inkrementell sichern und dann via FTP o. ä. zu sich nachhause übertragen. Denn wenn ich bspw. die Funktionen meiner unterschiedlichen MailClients (PC, Smartphones) zum sichern in lokale Ordner nutze, erhalte ich ja nur dezentrale, lokale Sicherungen auf den verschiedenen MailClients.

Da Dovecot auch POP3 unterstützt, gibt es wohl auch diverse Anwender, welche einen Hauptrechner dafür nutzen, mit POP3 die eingegangenen Mails lokal zu sichern. Allerdings ist mir hierbei nicht klar, was passiert, wenn ich eine abgerufene Mail (POP3) direkt auf dem Server löschen lasse und gleichzeitig auch IMAP-Funktionalität von Dovecot genutzt wird. Ist diese Mail dann für IMAP ebenfalls „weg“?


Danke und viele Grüße
testit
 

medV2

Well-Known Member
Wenn du IMAP verwendest ist eigentlich automatisch alles "vernünftig" konfiguriert. Auch deine Mailprogramme nehmen automatisch den richtigen Sent-Folder. Falls nicht (sehr selten) kann man das im Mailprogramm Einstellen. Es gibt auch die Möglichkeit das Serverseitig zu machen, dann musst du aber definitiv allen Mail-Programmen erstmal abgewöhnen noch eine zusätzliche Kopie zu speichern, daher mein Tipp: Lass es wie es ist, das tut was du willst (in 99% der Fälle).

Um deine letzte Frage gleich vorweg zu nehmen: Ja, wenn pop3 die Mail löscht, ist sie für IMAP weg.

Jetzt zu dem was du willst: Willst du IMAP verwenden + ein Backup? Das ist sehr einfach zu realisieren, je nachdem wie dein IMAP Server die Sachen speichert (mbox, maildir, ..) die entsprechenden Ordner wegsichern. Wenn du nicht sichern kannst, weil du keinen vollwertigen Server hast, oder es um sehr große Unterfangen geht, kannst du die Mails z.b. auch mittels eines cli-pop3 Clients abgleichen.

Für meinen privaten Mailserver habe ich z.b. einfach eine tägliche Sicherung vom Server auf einen Backupserver, versioniert mit borgbackup. In der Firma sieht das etwas komplexer aus.

Im Endeffekt kommts auf die Situation an. Für komplexere Unternehmensdinger gibts natürlich diverse Failover Möglichkeiten.
 

CommanderZed

OpenBSD User
Teammitglied
Ich möchte mir da auch nochmal eine ganz andere Lösung überlegen, nutze jetzt aber zurzeit eine sehr sehr einfache Lösung:

Ich nutze auf allen Clients bis auf einen IMAP, dieser eine ruft per POP3 alle Daten ab, lässt aber 8 Wochen eine Kopie auf dem Server, dadurch hab ich alles einmal lokal und trotzdem alles per imap verfügbar.

Die Daten des pop3-clients (sylpheed / openbsd) laufen dann in mein normales Sicherungskonzept.
 

Yamagi

Possessed With Psi Powers
Teammitglied
Meine Dovecot-Mails sichere ich per Replikation. Ich habe zwischen dem Server und dem Sicherungssystem hier zu Hause einen OpenVPN-Tunnel gebaut, über den die Dovecot-Replikation läuft. Mails, die ins eine Ende geschrieben werden, werden innerhalb von Sekunden auf das andere Ende gespiegelt. Für alle anderen IMAP-Postfächer nehme ich isync / mbsync: https://www.freshports.org/mail/isync/ Es ist etwas fummelig zu konfigurieren, wenn man es mal geschafft hat, funktioniert es aber sehr zuverlässig und kann auch sehr große Verzeichnisse mit mehreren hunderttausend Mails (Mailinglisten sei Dank) effizient synchronisieren.
 

testit

Well-Known Member
Wenn du IMAP verwendest ist eigentlich automatisch alles "vernünftig" konfiguriert. Auch deine Mailprogramme nehmen automatisch den richtigen Sent-Folder. Falls nicht (sehr selten) kann man das im Mailprogramm Einstellen. Es gibt auch die Möglichkeit das Serverseitig zu machen, dann musst du aber definitiv allen Mail-Programmen erstmal abgewöhnen noch eine zusätzliche Kopie zu speichern, daher mein Tipp: Lass es wie es ist, das tut was du willst (in 99% der Fälle).
Vielen Dank für Deine Ausführungen!

Weißt Du, ob Dovecot2 "xlist" unterstützt?

Viele Grüße
testit
 

testit

Well-Known Member
Ich möchte mir da auch nochmal eine ganz andere Lösung überlegen, nutze jetzt aber zurzeit eine sehr sehr einfache Lösung:

Ich nutze auf allen Clients bis auf einen IMAP, dieser eine ruft per POP3 alle Daten ab, lässt aber 8 Wochen eine Kopie auf dem Server, dadurch hab ich alles einmal lokal und trotzdem alles per imap verfügbar.

Die Daten des pop3-clients (sylpheed / openbsd) laufen dann in mein normales Sicherungskonzept.

Hallo,

diese Vorgehensweise entspricht ja dem letzten Absatz meines Ausgangsbeitrags.

Wenn ich das richtig verstanden habe, würden bei Dir dann aber auch in den IMAP-Foldern "nur" die letzten 8 Wochen vorgehalten würden. Korrekt? Denn medv2 schrieb oben, dass eine POP-Abfrage mit Löschem auf dem Server auch die IMAP-Pendants löscht.

Allerdings sind bei Deiner Vorgehensweise mit POP3 Sicherungen der von Deinen verschiedenen MailClients VERSENDETEN Mails nicht abgedeckt. Wie hast Du DAS gelöst?

Viele Grüße
testit
 

testit

Well-Known Member
Meine Dovecot-Mails sichere ich per Replikation. Ich habe zwischen dem Server und dem Sicherungssystem hier zu Hause einen OpenVPN-Tunnel gebaut, über den die Dovecot-Replikation läuft. Mails, die ins eine Ende geschrieben werden, werden innerhalb von Sekunden auf das andere Ende gespiegelt. Für alle anderen IMAP-Postfächer nehme ich isync / mbsync: https://www.freshports.org/mail/isync/ Es ist etwas fummelig zu konfigurieren, wenn man es mal geschafft hat, funktioniert es aber sehr zuverlässig und kann auch sehr große Verzeichnisse mit mehreren hunderttausend Mails (Mailinglisten sei Dank) effizient synchronisieren.

Aber ist das eine wirkliche SICHERUNG?
Angenommen, die Mails würden auf dem Server gelöscht: Würde dann die Synchronisation diese nicht auch bei Dir zuhause löschen?

Danke und Gruß
testit
 

Yamagi

Possessed With Psi Powers
Teammitglied
Nein, so gesehen ist das keine Sicherung, da jede Änderung repliziert wird. Also auch, wenn ein Nutzer seine Mails aus Versehen löscht. Dagegen habe ich eine ZFS Snapshot Rotation auf dem Server laufen. Alle 60 Minuten einen Snapshot für 72 Stunden.
 

CommanderZed

OpenBSD User
Teammitglied
Hallo,

diese Vorgehensweise entspricht ja dem letzten Absatz meines Ausgangsbeitrags.

Wenn ich das richtig verstanden habe, würden bei Dir dann aber auch in den IMAP-Foldern "nur" die letzten 8 Wochen vorgehalten würden. Korrekt? Denn medv2 schrieb oben, dass eine POP-Abfrage mit Löschem auf dem Server auch die IMAP-Pendants löscht.

Allerdings sind bei Deiner Vorgehensweise mit POP3 Sicherungen der von Deinen verschiedenen MailClients VERSENDETEN Mails nicht abgedeckt. Wie hast Du DAS gelöst?

Viele Grüße
testit

Hi,

vorweg: Es geht hier nur um mich Privat. Ich mache "Das Mail aber auch nicht selber", bin also bei einem recht großen, sehr unsympathschen anbieter für Webhostinglösungen.
Mittelfristig will ich das mal komplett selbst machen, aber da man da viel falsch machen kann ... will ich das auch richtig machen, was entsprechend Zeit & Energie kostet.

Ja, da werden für das IMAP "nur" die letzten 8 Wochen vorgehalten, ist natürlich konfigurierbar, 8 Wochen kommt mit meinen Nutzungsszenario recht gut hin, meist brauch ich Mails "akut" nur wenige Tage.
Für alles an "mehr Mail", also was suchen, was umfangreiches schreiben, mach ich dann eh eher mit dem Sylpheed, die IMAP-Clients sind bei mir auch gleichzeitig die Mobile Clients.

Gesendet wird entsprechend nicht gesichert, aber auf der einen Seite schicke ich übers Smartphone meist nur so spannende sätze wie "Hallo, Okay" oder "Ich hätte gerne um 17 Uhr einen Termin" oder so, und auf der anderen Seite hoffe ich das der Provider das auch irgendwie halbwegs professionell sichert.

Wenn ich eMail irgendwann "selbst mache", brauche ich eindeutig auch eine andere Lösung, deshalb ist dieser thread für mich auch sehr interessant.

Zurzeit sicher ich den dafür vorgesehenen Server Nachts per ssh/rsync auf mein NAS zuhause. Das wollte ich hier eigent auch machen. Mein einfaches ksh Script hat auch jetzt schon für bestimmte Daten die einfach gehaltene funktion mehrere revisionen zu speichern, dafür wird einfach je einfach ein anderer Ordner verwendet - ganz sicher nichtso elegant wie zfs ;)
 

christian83

Well-Known Member
Mittelfristig will ich das mal komplett selbst machen, aber da man da viel falsch machen kann ... will ich das auch richtig machen, was entsprechend Zeit & Energie kostet.
Willst du dir wirklich diesen Zeit und Kostenaufwand antun für ein paar E-Mails? Ich kenne viele die diese Idee hatten einen eigenen Mailserver Zuhause einzurichten, diese Ideen scheiterten dann aber recht schnell. Zum einen wirst du keinen Mailserver an einem Privatanschluss betreiben können, selbst mit statischer IP Adresse nicht. Die ganzen IP Bereiche die private Nutzer von ihren Providern bekommen stehen bei jedem anständig konfigurierten aber definitiv bei allen großen Mailanbieter auf der Blacklist. Also wird kein Server dessen Admin eine bessere Ausbildung als die Computer Bild hat deine Mails überhaupt annehmen. Du müsstest also eine Adresse aus einem anderen Pool bekommen, da aber inzwischen größere Anbieter so etwas für den normalen Kunden anbieten sind diese Pools auch oft gesperrt.

Dann natürlich der Stromverbrauch. Ich würde dann lieber eine eigene Domain nehmen und dann einen Anbieter wie Mailbox.org oder Posteo nehmen mit eigener Domain. Ich persönlich sehe keinen Grund warum ich mir die Mühe machen sollte. Selbst das Argument Datenschutz ist eigentlich Quatsch, entweder die Mail werden im Klartext für jeden auf der Strecke übertragen und liegen so oder so in dieser Form beim Provider oder man verschlüsselt anständig und dann kann es ohnehin keiner lesen.

Wenn du wirklich archivieren willst und das auch noch sicher, dann gibt es ja genügend Anbieter die rechtssichere Postfächer mit langzeitarchivierung anbieten. Aber braucht man so etwas tatsächlich als Privatperson?
 

CommanderZed

OpenBSD User
Teammitglied
Willst du dir wirklich diesen Zeit und Kostenaufwand antun für ein paar E-Mails? Ich kenne viele die diese Idee hatten einen eigenen Mailserver Zuhause einzurichten, diese Ideen scheiterten dann aber recht schnell. Zum einen wirst du keinen Mailserver an einem Privatanschluss betreiben können, selbst mit statischer IP Adresse nicht. Die ganzen IP Bereiche die private Nutzer von ihren Providern bekommen stehen bei jedem anständig konfigurierten aber definitiv bei allen großen Mailanbieter auf der Blacklist. Also wird kein Server dessen Admin eine bessere Ausbildung als die Computer Bild hat deine Mails überhaupt annehmen. Du müsstest also eine Adresse aus einem anderen Pool bekommen, da aber inzwischen größere Anbieter so etwas für den normalen Kunden anbieten sind diese Pools auch oft gesperrt.

Dann natürlich der Stromverbrauch. Ich würde dann lieber eine eigene Domain nehmen und dann einen Anbieter wie Mailbox.org oder Posteo nehmen mit eigener Domain. Ich persönlich sehe keinen Grund warum ich mir die Mühe machen sollte. Selbst das Argument Datenschutz ist eigentlich Quatsch, entweder die Mail werden im Klartext für jeden auf der Strecke übertragen und liegen so oder so in dieser Form beim Provider oder man verschlüsselt anständig und dann kann es ohnehin keiner lesen.

Wenn du wirklich archivieren willst und das auch noch sicher, dann gibt es ja genügend Anbieter die rechtssichere Postfächer mit langzeitarchivierung anbieten. Aber braucht man so etwas tatsächlich als Privatperson?

Hi,

das kannst du nicht wissen, aber das würde auf meinem eh schon vorhandenen bezahlten vServer mit fester IP usw. bei einem anderen, mittelgroßen Provider laufen, nicht hinter meiner privaten IP - vermutlich sogar mit BackupMX ;)

Es geht hier natürlich auch ein bisschen um den "Bastelspaß" im weiteren sinne.

Es geht mir auch nicht ums Archivieren, da reicht meine pop3 Lösung all meinen ansprüchen eigentlich, aber wenn ich eh mail selbst mache kann man das ja "bei der Gelegenheit" leicht anders lösen.

LG

Zed
 

christian83

Well-Known Member
Hi, war ja auch nicht böse gemeint oder so. Ja ich habe früher auch solche Dinge wie eigenen Mailserver und vServer gemacht. Irgendwann habe ich nur für mich entschieden dass ich die Zeit dafür einfach nicht habe bzw. aufbringen will. Wenn du es möchtest, dann ist es natürlich vollkommen in Ordnung und ich werde das nicht hinterfragen.
 

midnight

OpenBSD & FreeBSD
Nein, so gesehen ist das keine Sicherung, da jede Änderung repliziert wird. Also auch, wenn ein Nutzer seine Mails aus Versehen löscht. Dagegen habe ich eine ZFS Snapshot Rotation auf dem Server laufen. Alle 60 Minuten einen Snapshot für 72 Stunden.
Interessant. Wie automatisierst Du denn das?

Ich koennte mir das so vorstellen:

Einen cronjob alle 60 Minuten:
Code:
0 * * * * zfs snapshot zroot/jails/mail@`date "+%Y-%m-%d-%H:%M:%S"`

Nur wie loeschst Du Snapshots, die aelter als 72 Stunden sind?
 

christian83

Well-Known Member
Nur wie loeschst Du Snapshots, die aelter als 72 Stunden sind?
Ich würde mir einen Script schreiben der stündlich Snapshots erstellt und die Bezeichnungen in einer kleinen Datenbank/Datei ablegt. Wenn dann 72 Einträge vorhanden sind wird der erste Eintrag gelesen und der Name des Snapshots entnommen und diese dann im Pool gelöscht, einen neuen erstellen und wieder an das Ende der Datei eintragen.

Vermutlich gibt es elegantere Lösungen.
 
Oben