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

Ein gmx-Konto funktioniert, ein gmail-Konto mit Anhang anzeigen 108107
geht nicht (kein Zugriff aufs Konto). Jemand eine Idee?

Edit: Marius schreibt was von SMTP aktivieren im gmail Konto?
Der Mailarchiver ist super. Vielen Dank, das du uns das zur Verfügung stellst. Ich habe jetzt 4 gmx-Adressen drin und habe ein bisschen gespielt mit Suche und so. Alles prima.

Hat jemand Gmail Konten via IMAP angebunden? Und wenn ja wie?
 
  • Like
Reaktionen: DS213+
Neue Version 2509.2 veröffentlicht

✨ Neue Funktionen
  • Microsoft 365-Unterstützung über die Graph API hinzugefügt.
  • TOTP-basierte Zwei-Faktor-Authentifizierung (2FA) implementiert.
  • Rate Limiting für den 2FA-Verifizierungsablauf hinzugefügt.
  • Neues Provider-System:
    • "Import only" ist keine Checkbox mehr.
    • Jedes Konto ist nun einem Provider aus einer Liste zugeordnet (aktuell: IMAP, IMPORT, M365)
    • Ermöglicht eine einfachere zukünftige Erweiterung
⚙️ Verbesserungen
  • Optimierte Erkennung ausgehender E-Mails:
    • Die Zuweisung erfolgt jetzt anhand der Absenderadresse (Konto-E-Mail) anstatt anhand eines Abgleichs der „Gesendet“-Ordnernamen in verschiedenen Sprachen.
  • Anmeldung mit Legacy-Benutzern deaktiviert.
  • Übersetzungen aktualisiert.
  • Überarbeitete Session-Verwaltung:
    • Verbesserte Stabilität und Skalierbarkeit im Session-Handling.
    • Wichtig: Bei Betrieb via Docker muss nun ein zusätzliches Volume für Sessions gemountet werden – siehe Beispiel in der README des Repositories.
 
Löschen eines Kontos funktioniert auch ... ;) wollen sie, wollen sie wirklich, ganz wirklich :).

Die erhaltenen Mails haben manchmal -2h Zeittag (Bsp. Mail erhalten 10:00 wird mit 08:00 angezeigt), die gesendeten stimmen immer? Die Differenz gibt es nur bei einigen Mails - ich sehe kein Muster.
 
Zuletzt bearbeitet:
Hi, finde das Tool klasse, habe es seit ein paar Tagen im Einsatz und es funktioniert...
ich war nur etwas zu optimistisch und habe die Löschfrist auf einen zu kurzen Zeitraum gestellt.
Ist nicht wirklich ein Problem, die Mails sind zwar vom Server, aller noch alle im Archiv.
und dort hakt es im Moment.
Da ich zu faul bin, die einzelnen Mails zu suchen, gehe ich auf das Mail-Konto / Details.
Dort wird mir die Gesamtzahl an Mails angezeigt.
Also alle Mails in ein anderes Postfach kopieren, Postfach angeben... und:

bei Safari bleibt der Bildschirm weiß,
bei Firefox gibt es nach dem Start einen bad request, Fehler 400:

"http://192.168.100.3:5065/Emails/StartAsyncBatchRestore hat einen Fehler zurückgeschickt.
Fehlercode: 400 Bad Request"

kann den Fehler jemand nachvollziehen? Verlauf bei Safari habe ich gelöscht, Firefox neu installiert, Paket auf der DS neu gestartet..
so langsam gehen mir die Ideen aus..

installiert habe ich mit:
services:
mailarchive-app:
image: s1t5/mailarchiver:latest
container_name: MailArchiver
healthcheck:
test: timeout 10s bash -c ':> /dev/tcp/127.0.0.1/5000' || exit 1
interval: 10s
timeout: 5s
retries: 3
start_period: 90s
environment:
- ConnectionStrings__DefaultConnection=Host=mailarchiver-db;Database=mailarchiver;Username=mailarchiveruser;Password=mailarchiverpass;
- Authentication__Enabled=true
- Authentication__Username=user
- Authentication__Password=user_pwd
- Authentication__SessionTimeoutMinutes=60
- Authentication__CookieName=MailArchiverAuth
- MailSync__IntervalMinutes=1440
- MailSync__TimeoutMinutes=60
- MailSync__ConnectionTimeoutSeconds=180
- MailSync__CommandTimeoutSeconds=300
- BatchRestore__AsyncThreshold=50
- BatchRestore__MaxSyncEmails=150
- BatchRestore__MaxAsyncEmails=50000
- BatchRestore__SessionTimeoutMinutes=30
- BatchRestore__DefaultBatchSize=50
- Npgsql__CommandTimeout=600
ports:
- 5065:5000
depends_on:
db:
condition: service_healthy
restart: on-failure:5
db:
image: postgres:17-alpine
container_name: MailArchiver-DB
hostname: mailarchiver-db
security_opt:
- no-new-privileges:true
healthcheck:
test: ["CMD", "pg_isready", "-q", "-d", "mailarchiver", "-U", "mailarchiveruser"]
timeout: 45s
interval: 10s
retries: 10
environment:
POSTGRES_DB: mailarchiver
POSTGRES_USER: mailarchiveruser
POSTGRES_PASSWORD: mailarchiverpass
volumes:
- /volume1/docker/mailarchiverdb/postgres-data:/var/lib/postgresql/data:rw
restart: on-failure:5

Danke vorab für einen Schubs in die richtige Richtung
 
  • Like
Reaktionen: DS213+
@Mahoessen
Hi,
erstmal danke für das positive Feedback☺️ Ich habe das gerade mal nachgestellt und treffer! Ist bei mir auch so. Morgen gebe ich mich da ran und behebe das Problem. Ich melde mich wenn die neue Version mit dem Fix veröffentlicht ist.
Sorry für die unannehmlichkteiten!
VG
 
  • Like
Reaktionen: Mahoessen
@s1t5

Kleiner "Verbesserungsvorschlag": Offenbar ist bei Netcup das Zertifikat abgelaufen, weiß ich, weil Clients wie Thunderbird das auch melden.

Mail-Archiver sagt allerdings nur "fehlgeschlagen"; wär natürlich schön, wenn man auch da sehen würde, was denn das Problem ist ;) (Oder gibts das irgendwo, habs weder in den Jobs noch Details vom Konto gefunden?)

1758002565240.png
 
@patrickn Das wird in den Docker Compose Logs entsprechend genauer protokolliert, aber traurig, dass so etwas bei einem so großen Hoster passiert. Ist mir hier heute auch auf die Füße gefallen, da ich meine Domains auch bei denen habe :)
 
Ah jetzt weiß ich warum mein Fairmail heute keine Mails bekommt. Dann warte ich mal ab.
 
Hey vielen Dank schon mal das du so ein mächtiges Tool zur Mail Archivierung zur verfügung stellst. Ich bin am überlegen ob ich dies auch für meine Mail Server einsetze. Jetzt hab ich das ganze nur ein bisschen überflogen und hab ein gewissen Punkt nicht gefunden. Sind die Mails löschsicher? Laut DSGVO Mail Archivierung müssen diese ja Löschsicher sein 👀.

Und gibt es einen Unterschied zum Open Archiver und diesem hier?
 
@rain82k das sind diese, eine Löschfunktion für Mails gibt es aus diesem Grund bewusst nicht indem System, sprich sind diese einmal archiviert verbleiben diese in der Anwendung.
Wo hier genau die Funktionalen unterscheide zwischen meiner Lösung und OpenArchiver liegen kann ich hier im Detail nicht benennen, beide Anwendungen sind im Kern jedoch Mail Archivierungssysteme. In OpenArchiver können Mails aber wohl auch aus dem Archiv gelöscht werden soweit ich weiß
 
  • Like
Reaktionen: rain82k
Vielen Dank für die schnelle Antwort. Dann werd ich liebend gern diese Version hier auf meine Synology ziehen 😉.
 
Moin @s1t5


mir sind gerade zwei Dinge aufgefallen:
Seit der Version v2509.8 scheinen die Zeiten wieder falsch? Bis vor dem Update vorhin von x.7 hats gepasst:

x.7:
1759390133749.png
1759390189645.png

x.8:
1759390230069.png
1759390254528.png
Die Zeit im Header, und auch "last sync" sind korrekt.

Zweite Auffälligkeit:

Die Mails erscheinen alle als "ausgehend" (schon immer). Vermutlich weil Absender= Empfänger? Für mein Verständnis aber zumindest trotzdem "eingehend", und nicht "ausgehend"?
1759390507946.png
(Seit vorhin lasse ich mir die Mails in Archives/DiskStation bei Eingang mit Filter verschieben; war aber auch schon so, als sie in der normalen "INBOX" waren:)

1759390586692.png

Das wie gesagt über den Versand der Diskstation beim selben Konto von/an identisch, die Mails landen auch gar nicht im "Gesendet" Ordner auf dem Server (Netcup), ist aber auch bei Versand von z.B. Thunderbird so:

1759390680824.png

Ist das so gewollt oder würdest du das selbst als "Bug" klassifizieren?

Gruß und schon mal ein schönes Wochenende ;)
 
Hi @patrickn

in der Version 2509.8 habe ich Anpassungen an dem Zeitstempel der Mails vorgenommen. Hier gab es in der Vergangenheit einen Versatz, je nach dem in welcher Zeitzone sich der absendende Server befand. Hast du hier im Rahmen des Updates die neue Variable für die Zeitzone mit in die Docker-Compose aufgenommen? Diese wird für die Konvertierung in deine Zielzeitzone benötigt und müsste vom Standardwert utc auf Europe/Berlin umgestellt werden. Schaue dir da gerne einmal die Beispieldatei in der Readme des Repos an :)

Die Erkennugn des Ausgehend-Flags passiert zum einen durch den Abgleich, ob der Absender gleich der Account-Mail ist und zum anderen anhand des Quellordners, spich liegt diese z.B. im Ordner sent. Trifft eine der beiden Bedingungen zu, wird die mail entsprechend klassifiziert.
 
  • Like
Reaktionen: patrickn
@s1t5 wenn's da ne neue Variable gibt, hab ich die selbstverständlich nicht drin 😅 hab das Update drüber gebügelt und feddig. Werd ich heute Abend mal schauen.

Bzgl. Der "ausgehenden" Mails, ok, alles klar. Irgendwie muss man halt klassifizieren, ob ein oder ausgehend. Und das auch nach gesendet Ordner abgleichen, wenn jeder Server irgendwie sein eigenes Süppchen kocht, dürfte auch ungünstig sein.
 

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