Mail-Archiver: Zentrale IMAP E-Mail-Archivierung & Migration

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Glück Auf Zusammen

nach nun 4 Wochen Europa sitze ich wieder an der Konsole!
Das aktuelle Problem mit der 2509.8 von @patrickn tritt bei uns nicht auf. Die Zeitstempel passen. Wir haben aber auch den Mail-Server der bei uns im eigenen Netz läuft (Grommunio-VM) in der gleichen Zeitzone wie den Container mit Mail-Archiver. --- Mal sehen was passiert wenn der Sommerzeitwechsel hinter uns liegt.
Das Problem mit den ausgehenden MAILs hatte ich so ähnlich auch schon mal woanders. Bei uns lag es an Mails die wie beschrieben sowohl im "from" als auch im "to" die gleiche Mail-Adresse hatten. Bei uns war das eine "Hilfslösung" um von doofen Netzgeräten "Statusbenachrichtigungen" mit "qualifiziertem Absender" zu versenden. Bei denen mussten wir für beide Seiten die gleiche Adresse verwenden, entsprechend sind diese Mails aber auch da nie im Ordner "send" aufgetaucht, weil sie ja durch das abgefragte Postfach auch nicht versandt wurden. Evtl. liegt das Problem im gleichen Umfeld.
Ansonsten laufen jetzt 2 Installationen seit ca. 6 Wochen "produktiv" mit einmal ca. 10.000 und einem ca. 15.000 archivierten Mails. Es gibt weiterhin keine "Klagen", Mail-Archiver läuft als Container unter Portainer mit Watchtower Aktualisierung wunderbar stabil. Die Mail Server Postfächer wachsen nicht mehr, trotz kontinuierleichem Zufluss; die Löschfunktion archivierter Mail's im Real-Postfach scheint zu gerifen. Und der Speicherbearf ist bei uns mit ca. 1,5 GB bei 10.000 Mails erfreulich niedrig. Ebenso ist die "Schwuppdizität" bei dieser Menge absolut angenehm. Alles als Erfahrung im privaten Umfeld ohne Sonderlocken.
Damit weiterhin meine lobende Empfehlung und herzlichen Dank!

F@H
 
Genau so ist es bei mir auch und der Mail Archivierer macht ein super Job. Ich habe bisher einige Postfächer dort drin die jetzt in Summe 49000 Mails haben und auf einer Synology gesichert werden. Der Gedanke ist, ob man dieses Archiv in den Postfächern integrieren kann, so das man dort ein Archiv Verzeichnis hat und wie FricklerAtHome gerade beschrieben hatte, das die Mails in den eigentlichen Postfächern gelöscht werden.
Weiss jemand ob man sowas umsetzen kann?
 
@rain82k
Wenn ich deinen Wunsch richtig verstanden habe möchtest du so etwas wie eine Integration des Archiver in deinen Mail-Client. Ein bekannter kommerzieller Mail-Archiv Anbieter hat so etwas als Add-ON in Outlook realisiert.
Wir sind weg von Outlook und nutzen auf Desktop-Rechnern nur noch WEB-Clients und auf den Handhelds in der Regel die nativen App's (iOS bzw. Android) Das sind aber Features des Mail-Servers. Bei dem von uns genutzten Grommunio (früher Kopano) kann man das WEB-MAIL-Interface erweitern. Das geht "dumm" und/oder "smart".
Dumm bedeutet ich kann aus dem WEB-Client mittels LINK die Web-Oberfläche des Mail-Archive ansteuern. Das geht aus dem Internet (also nicht nur aus dem Heimnetz) wenn Mail-Archive mittels Dydns, Reverse-Proxy incl. Sub-Domain und Zertifikat erreichbar ist. Man kommt aber nur bis zum Login und muss sich dann separat anmelden. "Smart" wäre wenn das login an Mail-Archive dann auch noch automatisch mittels übergebener Credentials funktionieren würde. Bei der Datei-Integration unserer NextCloud gibt es sowas für Grommunio (Kopano); also Auto-Login bzw. SSO. Für unseren Mail-Server bastel ich da immer mal wieder rum. Der Aufruf aus dem Mail-Web-Client funktioniert dann, aber nur "dumm". Wir nutzen das aber gar nicht. Bei uns ist dann eh ein Web-Browser offen und dort liegt ein direkter Link als Lesezeichen mit der gleichen Funktionalität. ---- Warum? Die reale Nutzung einer solchen Funktionalität geht bei uns gegen Null. (Schau mal im Protokol von Mail-Archive wer sich denn real wie oft und wann anmeldet.) Spricht man dann mit den Anwendern haben wir keinen echten Grund für eine kontinuierliche "smarte" Integration gefunden, die Dumme reicht in den Einzelfällen in der Regel aus. Unser Grommunio und ich glaube auch MailCow nutzen für sowas nativ die Mail-Archivierungssoftware PILER. Damit geht es dann "smart"er. Unsere Erfahrung ist aber auch dass das trotzdem noch einige Hackeleien hat. (Stichwort Browser-Cache, iFrame-Einbindung etc.)
Ja, -- kann man sich wünschen ist aber bei der Vielfälltigkeit von Mail-Clients und Mail-Servern sicher "Hochkomplex". Wir sind froh das die Archiv-Funktion so super einfach und verlässlich funktioniert wie sie aktuell ist. Und das in beiden Segmenten Installation, Betrieb, Administration und im Segment Benutzung.

Schönen Abend
F@H
 
Zuletzt bearbeitet:
Hast du hier im Rahmen des Updates die neue Variable für die Zeitzone mit in die Docker-Compose aufgenommen?
@s1t5 Danke, mit - TimeZone__DisplayTimeZoneId=Europe/Berlin passt es nach löschen der Mails und neuem Sync nun.

Allerdings scheint "vollständige Neusynchronisation" nun die letzte Sync-Zeit auf 01.01.1970, 01:00 zu setzen, was ein "normaler" Sync auch nicht mehr aktualisiert, bleibt bei 1970. Mit "Sync-Zeit zurücksetzen" passt es dann wieder. Meine, dass das bisher nicht so war. Oder mir ist es nicht aufgefallen.
 
@patrickn da hat sich bei der Umstellung des Speichermanagements ein bug eingeschlichen, sodass die LastSyncTime nicht mehr zurückgeschrieben wurde. habe ich gerade in der soeben veröffentlichten Version 2510.1 behoben :)
 
Hallo zusammen, erstmal vielen Dank @s1t5 für dieses coole Tool.
Ich habe es via Portainer (Marius) installiert und es lief bis Donnerstag Abend 21:38 ohne Probleme. Anscheinend wurde da die neue Version von Watchtower gezogen und nun habe ich folgendes Problem:
ich komme auf die Anmeldemaske und kann meine Benutzerdaten inkl Passwort eingeben: anschließend kommt Fehler: HTTP ERROR 5001759581632100.png

nun habe ich schon versucht andere Browser zu nehmen, auf die alte Version zurückzugehen, nichts scheint zu funktionieren.
Laut Por/Container-Log wird auch weiterhin abgerufen, aber ich komme nicht mehr "rein".

Kann mir hier jemand einen Tipp geben?
VG bertoal
 
@bertoal
ich kann den Fehler mit der neusten Version auf keiner meiner 5 Installationen unter Portainer (mal über DSM oder über Proxmox nachvollziehen. --- Wie sehen denn die LOGS bei dir aus?

@savvy
Der von dir angeregte Teil des Forum ist eigendlich spezifisch für "Erweiterungen" bzw. Tools im Zusammenhang mit Synology und seinem DSM. Mail-Archiver ist universiell für das Zusammenspiel mit Mail-Software. Ich glaube wir sind hier schon am richtigen Ort. Offiziell diskutiert man das auf GitHub. @s1t5 ist nur so freundlich sich auch hier und auf Deutsch auszutauschen.

F@H
 
  • Like
Reaktionen: s1t5 und Benie
Hallo F@H,

die Logs zeigen das Abgleichen der Mail-Accounts. Beim Einloggen, habe ich nun ein "warn" und "fail" gefunden. Kann es daran liegen?
Code:
2025/10/04 15:02:20    stdout             at Microsoft.AspNetCore.Razor.TagHelpers.TagHelper.ProcessAsync(TagHelperContext context, TagHelperOutput output)
2025/10/04 15:02:20    stdout             at Microsoft.AspNetCore.Mvc.TagHelpers.LinkTagHelper.Process(TagHelperContext context, TagHelperOutput output)
2025/10/04 15:02:20    stdout             at Microsoft.AspNetCore.Mvc.Razor.Infrastructure.DefaultFileVersionProvider.AddFileVersionToPath(PathString requestPathBase, String path)
2025/10/04 15:02:20    stdout             at Microsoft.Extensions.FileProviders.Physical.PhysicalFilesWatcher.CreateFileChangeToken(String filter)
2025/10/04 15:02:20    stdout             at Microsoft.Extensions.FileProviders.Physical.PhysicalFilesWatcher.TryEnableFileSystemWatcher()
2025/10/04 15:02:20    stdout             at System.IO.FileSystemWatcher.StartRaisingEvents()
2025/10/04 15:02:20    stdout          System.IO.IOException: The configured user limit (128) on the number of inotify instances has been reached, or the per-process limit on the number of open file descriptors has been reached.
2025/10/04 15:02:20    stdout          An unhandled exception has occurred while executing the request.
2025/10/04 15:02:20    stdout    fail: Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware[1]
2025/10/04 15:02:20    stdout             at Microsoft.AspNetCore.Session.CookieProtection.Unprotect(IDataProtector protector, String protectedText, ILogger logger)
2025/10/04 15:02:20    stdout             at Microsoft.AspNetCore.DataProtection.KeyManagement.KeyRingBasedDataProtector.Unprotect(Byte[] protectedData)
2025/10/04 15:02:20    stdout             at Microsoft.AspNetCore.DataProtection.KeyManagement.KeyRingBasedDataProtector.UnprotectCore(Byte[] protectedData, Boolean allowOperationsOnRevokedKeys, UnprotectStatus& status)
2025/10/04 15:02:20    stdout          System.Security.Cryptography.CryptographicException: The key {b837e67c-846e-48fe-8979-17a1d212e07e} was not found in the key ring. For more information go to https://aka.ms/aspnet/dataprotectionwarning
2025/10/04 15:02:20    stdout          Error unprotecting the session cookie.
2025/10/04 15:02:20    stdout    warn: Microsoft.AspNetCore.Session.SessionMiddleware[7]
2025/10/04 15:02:20    stdout          User 'aXXXXXg' signed in successfully
2025/10/04 15:02:20    stdout    info: MailArchiver.Services.CookieAuthenticationService[0]
2025/10/04 15:02:20    stdout          Updated last login time for user 'aXXXXXXXg'
2025/10/04 15:02:20    stdout    info: MailArchiver.Services.CookieAuthenticationService[0]
2025/10/04 15:02:20    stdout          Updated user: aXXXXXXg (ID: 1)
2025/10/04 15:02:20    stdout    info: MailArchiver.Services.UserService[0]
2025/10/04 15:02:20    stdout             at Microsoft.AspNetCore.Session.CookieProtection.Unprotect(IDataProtector protector, String protectedText, ILogger logger)
2025/10/04 15:02:20    stdout             at Microsoft.AspNetCore.DataProtection.KeyManagement.KeyRingBasedDataProtector.Unprotect(Byte[] protectedData)
2025/10/04 15:02:20    stdout             at Microsoft.AspNetCore.DataProtection.KeyManagement.KeyRingBasedDataProtector.UnprotectCore(Byte[] protectedData, Boolean allowOperationsOnRevokedKeys, UnprotectStatus& status)
2025/10/04 15:02:20    stdout          System.Security.Cryptography.CryptographicException: The key {b837e67c-846e-48fe-8979-17a1d212e07e} was not found in the key ring. For more information go to https://aka.ms/aspnet/dataprotectionwarning
2025/10/04 15:02:20    stdout          Error unprotecting the session cookie.
2025/10/04 15:02:20    stdout    warn: Microsoft.AspNetCore.Session.SessionMiddleware[7]
2025/10/04 15:02:07    stdout             at Microsoft.AspNetCore.Antiforgery.DefaultAntiforgery.GetCookieTokenDoesNotThrow(HttpContext httpContext)
2025/10/04 15:02:07    stdout             at Microsoft.AspNetCore.Antiforgery.DefaultAntiforgeryTokenSerializer.Deserialize(String serializedToken)
2025/10/04 15:02:07    stdout             --- End of inner exception stack trace ---
2025/10/04 15:02:07    stdout             at Microsoft.AspNetCore.Antiforgery.DefaultAntiforgeryTokenSerializer.Deserialize(String serializedToken)
2025/10/04 15:02:07    stdout             at Microsoft.AspNetCore.DataProtection.KeyManagement.KeyRingBasedDataProtector.Unprotect(Byte[] protectedData)
2025/10/04 15:02:07    stdout             at Microsoft.AspNetCore.DataProtection.KeyManagement.KeyRingBasedDataProtector.UnprotectCore(Byte[] protectedData, Boolean allowOperationsOnRevokedKeys, UnprotectStatus& status)
2025/10/04 15:02:07    stdout           ---> System.Security.Cryptography.CryptographicException: The key {9bbff842-75f9-4bee-b610-c9d56a989591} was not found in the key ring. For more information go to https://aka.ms/aspnet/dataprotectionwarning
2025/10/04 15:02:07    stdout          Microsoft.AspNetCore.Antiforgery.AntiforgeryValidationException: The antiforgery token could not be decrypted.
2025/10/04 15:02:07    stdout          An exception was thrown while deserializing the token.
2025/10/04 15:02:07    stdout    fail: Microsoft.AspNetCore.Antiforgery.DefaultAntiforgery[7]
2025/10/04 15:02:07    stdout             at Microsoft.AspNetCore.Session.CookieProtection.Unprotect(IDataProtector protector, String protectedText, ILogger logger)
2025/10/04 15:02:07    stdout             at Microsoft.AspNetCore.DataProtection.KeyManagement.KeyRingBasedDataProtector.Unprotect(Byte[] protectedData)
2025/10/04 15:02:07    stdout             at Microsoft.AspNetCore.DataProtection.KeyManagement.KeyRingBasedDataProtector.UnprotectCore(Byte[] protectedData, Boolean allowOperationsOnRevokedKeys, UnprotectStatus& status)
2025/10/04 15:02:07    stdout          System.Security.Cryptography.CryptographicException: The key {b837e67c-846e-48fe-8979-17a1d212e07e} was not found in the key ring. For more information go to https://aka.ms/aspnet/dataprotectionwarning
2025/10/04 15:02:07    stdout          Error unprotecting the session cookie.
2025/10/04 15:02:07    stdout    warn: Microsoft.AspNetCore.Session.SessionMiddleware[7]
2025/10/04 15:02:07    stdout          Failed to determine the https port for redirect.
2025/10/04 15:02:07    stdout    warn: Microsoft.AspNetCore.HttpsPolicy.HttpsRedirectionMiddleware[3]
 

Anhänge

  • 1759586012268.png
    1759586012268.png
    878 KB · Aufrufe: 3
Der von dir angeregte Teil des Forum ist eigendlich spezifisch für "Erweiterungen" bzw. Tools im Zusammenhang mit Synology und seinem DSM. Mail-Archiver ist universiell für das Zusammenspiel mit Mail-Software.

Es gibt da extra ein Tag für Docker Anwendungen. Klar sind die universell, aber man kann es an dieser Stelle speziell für Synology einstellen und ggf. auf Synology Eigenheiten eingehen. Damit erreicht man mehr Nutzer und verringert die Hürde für nicht so erfahrene Nutzer.
 
@bertoal Danke für die Bereitstellung der Logs! Könntest du den Login testweise mal im Inkognito-Tab probieren? Ich vermute, dass hier das Volume für die data protection keys fehlt. Könntest du das einmal prüfen?
Bildschirmfoto vom 2025-10-04 21-03-41.png
 
Hallo @s1t5 , vielen Dank für deine Rückmeldung - im Inkognito-Tab geht es ebenso nicht.
Beim Vergleich der compose.yml von "dir" (github) fehlt bei Mariushosting (und somit mir) die data protection keys...
Bringt es noch etwas, wenn ich diese Zeile hinzufüge und redeploye?
Edit: habe mir die Antwort mit try-and-error selbst gegeben?

Besteht eine andere Möglichkeit wieder Zugriff zu bekommen?
 
Zuletzt bearbeitet:
@bertoal das dürfte damit eigentlich auch nicht im Zusammenhang stehen. Das Volume ist nur für persistente Session verantwortlich, welche über Neustarts der Anwendung hinaus gehen sollen. Könntest du mir einmal deinen gesamten docker compose log zukommen lassen? Gerne auch per Mail
 
PN ist raus
 
Hallo zusammen,
s1t5 konnte aus dem log-file erkennen, dass eine Umgebungsvariable fehlt, nach Einfügen lief der Mailarchiver wieder und ich kann auf mein Archiv/Dashboard zugreifen (y). (die technische Erklärung überlasse ich gerne s1t5 ;)).
Vielen Dank auf jeden Fall nochmal 💐
VG bertoal
 
ARCHIV und Backup

damit das Ganze rund wird müssen wir uns auch noch über ein Backup für Mail-Archiver unterhalten!
Zur Diskussion hier mein privates Szenario:

Ich betreibe den Mail-Archiver (also eigendlich 2 Container für Prog und Datenbank) unter Portainer in einem LXC Container in PROXMOX. In diesem Konstrukt laufen nur Container die selbst nur wenige Veränderungen erfahren oder wie MA nur bedingt zeitkritisch sind. (Bei mir zB. NginX-Proxy, Stirling-PDF, Watchtower, Homebridge und MA). Bis auf den PostGres DB Anteil verändert sich da bis auf die ":latest" Updates eigendlich nichts. Der Gesamt LXC Container hat eine ROOT-Partition von 100 GB und ist da gerade unter 10% ausgelastet. Ansonsten 4 GB RAM und 4 Kerne. Läuft sehr geschmeidig.
Lediglich am Sonntag Morgen um 05:00 Uhr, fährt sich der gesamte LXC Container über die Proxmox Backup Einstellungen vollständig herunter und wird auf meine Syno vollständig gebackuped (also nicht nur ein Snapshot), dauert aktuell keine 10 Minuten bis zum anschließenden Neustart. ---- Das ganze teste ich ab und an, und funktioniert bei mir verläßlich.
MA ist dabei viel "robuster" als andere App's. Er kontrolliert zwar alle x-Minuten die Postfächer und archiviert Neues, aber Neues ist hier relativ. In einer der betriebenen Nachbarschaftsinstallationen hatten diese es geschafft die MA Container zu stoppen. Keiner hat es bemerkt. Es fiel erst auf als ein Anwender die Web-Gui starten wollte. Der Container lief wohl fast 10 Tage nicht mehr, nach dem Neustart hat es aber keine 30 minuten gedauert bis alles wieder aktuell und vollständig war. Was MA in den 10 Tagen nicht mitbekommen hatte, war eben neu und wurde dann archiviert. Lediglich frische Mails, die in dieser "Ausfallzeit" durch die Anwender gelöscht wurden (endgültig also die auch nicht mehr im Ordner "Gelöschte Objekte / Papierkorb" sind) sind verloren. --- Mit diesem Gesamt-Konstrukt können wir gut leben.
Und wie macht Ihr das? Bei reiner Synology Nutzung mittels Container-Manager müssten die Schritte etwas anders sein. Hier kann ich leider nicht mehr helfen.

Schönen Abend
F@H
 
Zuletzt bearbeitet:
Guten Morgen @s1t5

Könntest du mir hier noch mal "auf die Sprünge" helfen?
Ich hab hier in der Job-Übersicht ein Mailaccount bei Arcor, der immer "Verarbeitet:8 neu:0" anzeigt, bei einem anderen Konten z.B. verarbeitet:10 neu:0. DIe Zahl ist auch angestiegen, bei Arcor war das ursprünglich bei 2/0.

Was genau heißt das?
1759818938861.png

Ich vermute, dass irgendwelche Mails immer wieder verarbeitet werden, werde aus den Logs allerdings nicht schlau(er):
Nehme ich das "Arcor" Konto, komme ich hier auf die ominöse "8":
2025-10-07T06:31:29.246037226Z Found 2 new messages in folder INBOX.Archiv.2018.x for account: x@arcor.de
(...)
2025-10-07T06:31:30.509761959Z Found 3 new messages in folder INBOX.SMART for account: x@arcor.de
2025-10-07T06:31:30.509792188Z info: MailArchiver.Services.EmailService[0]
2025-10-07T06:31:30.509797834Z Processing batch of 3 messages (starting at 0) in folder INBOX.SMART via IMAP
2025-10-07T06:31:30.881544084Z Found 3 new messages in folder INBOX for account: x@arcor.de
(...)
=8 ?

Abschluss des Logs ist:
2025-10-07T06:31:31.117454543Z Sync completed for account: x@arcor.de. New: 0, Failed: 0, Deleted: 0

Also irgendwie scheinen da Mails als "neu" gesehen zu werden, aber irgendwie auch doch nicht...
Sieht man in den Logs irgendwo, was für Mails für dieses "neu" sorgen?
 
Moin @patrickn!
Beim Sync werden immer alle Mails seit dem letzten Sync abzüglich einer gewissen Zeit (müsste jetzt nachschauen wie lange abgerufen). Hier handelt es sich dann um die verarbeiteten Mails, welche jedoch nicht "neu" sind da bereits archiviert. Bei diesen wird dann nur der Quellordner aktualisiert. Wenn neue Mails archiviert werden tauchen diese im Docker Compose Log jeweils auf
 
Hallo zusammen!
In den kommenden Versionen werde ich die Möglichkeit deaktivieren, das Tool ohne Authentifizierung zu nutzen. Sprich es ist ab dann (spätestens ab dann) erforderlich, einen Benutzernamen und ein Kennwort in der docker-compose zu definieren und die Authentifizierung zu aktivieren. Ich habe mich dazu entschieden, da in E-Mail Konten in der Regel hoch sensible Daten vorgehalten werden und mit Zugriff auf die Mails auch oftmals ein Zugriff auf weitere Dienste Möglich ist. So sollte selbst in einer lokalen Netzwerkumgebung dieses sensible Gut mittels Authentifizierung geschützt werden.
Ich nehme aber mal an, dass ein Großteil von euch bereits die Authentifizierung aktiv hat ;-)
 

Additional post fields

 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat