# Mail-Graveyard — bauen & benutzen ## 1. Bauen ```sh ./compile.sh ``` Holt htmx ins `frontend-js/dist`, macht `go mod tidy` und baut ein statisches Binary für Linux **und** Windows (`mail-graveyard` / `mail-graveyard.exe`). ## 2. Konfig ```sh cp config.json.example config.json ``` `config.json` (bleibt lokal, ist ge-`.gitignore`-t) setzt nur App-Sachen: Bind/Port, Admin-Login, DB-Pfad, mbox-Wurzel, optionale `mbox_compression` (`none` oder `zstd`) und das **Forward-SMTP** (nur fürs manuelle Weiterleiten aus dem Viewer). Die **Umzugs-Konten** legst du im Browser an, nicht hier. ## 3. Starten (Web) ```sh ./mail-graveyard --init-db # nur beim ersten Start: DB aus db_path anlegen ./mail-graveyard # danach normal, lauscht auf 127.0.0.1:8087 ``` Fehlt die DB-Datei spaeter, startet Mail-Graveyard bewusst nicht mehr still mit einer leeren Datenbank. Dann `db_path` pruefen oder nur fuer eine echte Neuinstallation erneut `--init-db` benutzen. Browser auf `http://127.0.0.1:8087`, mit Admin-Login aus `config.json`. Oberfläche im Outlook-2013-Look: Reiter **Postfächer** (Konten anlegen: Quelle alt → Ziel neu, Sicherheits-Modus `tls`/`starttls`/`none`, „Test" prüft beide Logins), Reiter **Umzug** (starten + Fortschritt), Reiter **Betrachten** (lokale mbox durchsehen, einzeln weiterleiten). ## 4. Starten (CLI — Cutover) Ohne Web, z. B. als Cronjob oder Dauerlauf im Umzugsfenster: ```sh ./mail-graveyard --run all # einmalig alle Konten (Delta) ./mail-graveyard --run dr-gold --watch # ein Konto, Delta-Schleife bis Stop ``` Dank Message-ID-Cache kopiert jeder Lauf nur Neues — beliebig oft wiederholbar ohne Dubletten. Für den Dauerlauf reicht `nohup`/systemd/Aufgabenplanung. ## 5. Sicherheit Tool hält fremde IMAP-Passwörter und kann Mails senden → Default bind `127.0.0.1`. Falls remote nötig: hinter Caddy + `/vadmin`-Mail-2FA. `config.json` und `*.db` nie committen. ## 6. Reihenfolge bei einem echten Umzug 1. Ziel-Postfächer beim neuen Hoster anlegen (`archiv-…`, `temp-…`). 2. Konten im Browser eintragen, „Test" grün. 3. `--run` laufen lassen, im **Betrachten**-Reiter / mbox stichprobenartig prüfen. 4. Während der Umstellung `--watch` für das Delta laufen lassen. 5. Domain portieren; danach zeigt der neue Hoster auf die Zielpostfächer.