2.5 KiB
2.5 KiB
Mail-Graveyard
Kleines Go-Single-Binary für Postfach-Umzüge zwischen Hosts. Holt Mails aus Quell-Konten (IMAP, POP3 nur als Notnagel) und spielt sie 1:1 in Ziel-Konten auf dem neuen Host ein – Ordnerstruktur, Flags und Original-Datum bleiben erhalten. Gleichzeitig wird jede Mail lokal als mbox (Cold Backup) weggeschrieben. Bedienung komplett im Browser im Outlook-2013-Look; die lokalen mbox-Postfächer lassen sich dort auch betrachten und bei Bedarf einzeln weiterleiten.
Wozu
Reiner Host-Umzug. Beispiel dr-gold:
| Quelle (Intersolute, IMAP) | Ziel (All-Inkl, IMAP) | Fall |
|---|---|---|
hans-peter@dr-gold.de |
archiv-hans-peter@dr-gold.com |
Ex-Mitarbeiter |
jane-doe@dr-gold.de |
temp-jane-doe@dr-gold.com |
aktiv, Übergang |
Zieladresse ist frei gemappt (eine Zeile pro Konto). Nach dem Umzug wird die Domain portiert; für das Tool ist das egal – es arbeitet nur mit dem Mapping, das zum Umzugszeitpunkt gilt.
Die harten Regeln (nicht verhandelbar)
- Umzug = IMAP
APPEND, niemals SMTP. NurAPPENDerhält Ordner, Flags (gelesen/beantwortet) undINTERNALDATE. SMTP würde alles als neu/ungelesen mit falschem Datum zustellen und die Ordner platt machen. - SMTP nur fürs manuelle Weiterleiten einzelner Mails aus dem Viewer –
sauber getrennt vom Umzug (
09-smtp.go). - Lokales Format = mbox (eine Datei pro Ordner). Kein PST – in Go nicht lean schreibbar. mbox öffnet eM Client / Thunderbird direkt.
- Idempotenz über Message-ID. Zweiter Lauf kopiert nur das Delta → erlaubt
--watchals Cutover-Delta-Sync bis zur Portierung. - Secrets bleiben lokal.
config.jsonund die DB (mit den Postfach- Passwörtern) sind ge-.gitignore-t. Erst bei Go-Live rotieren + einlagern. - Alt-Provider-tauglich. Muss mit unverschlüsseltem IMAP/POP3 (Klartext
143/110, STARTTLS, kaputte Zerts) klarkommen. Ordnernamen mit Sonderzeichen
(modified-UTF-7) sauber übertragen. Standardordner (Posteingang/Gesendet/
Entwürfe/Spam/Papierkorb/Archiv/Postausgang) werden per Rolle zusammengeführt,
nicht wegen Namensunterschied gedoppelt. Details:
backend/11-folders.go.
Bedienung
- Web (Default):
./mail-graveyard→ Browser auf127.0.0.1:8087. - CLI (Cronjob/Cutover):
./mail-graveyard --run all(einmalig) oder./mail-graveyard --run dr-gold --watch(Delta-Schleife).