From b9cbf65fac43354c11159238ef2934ff995fbab9 Mon Sep 17 00:00:00 2001 From: duffyduck Date: Fri, 7 Aug 2026 14:42:00 +0200 Subject: [PATCH] Klarere Meldung, wenn das Zielpostfach abgeloest wird Die alte Formulierung sprach vom Zusammenfuehren, das gar nicht zur Debatte steht, und liess offen, was mit dem bestehenden Postfach passiert. Sie sagt jetzt direkt, wohin es umbenannt wird und dass nichts geloescht wird. In der README steht dazu, warum nicht zusammengefuehrt wird: Kerio fuehrt eigene Indexdateien, die beim Hineinkopieren fremder Mails nicht mehr passen wuerden, waehrend das Verschieben eines vollstaendigen Verzeichnisses sie mitnimmt. Co-Authored-By: Claude Opus 5 (1M context) --- README.md | 14 ++++++++++---- kerio_rename_user.py | 10 +++++----- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index eb6d789..53627b8 100644 --- a/README.md +++ b/README.md @@ -155,10 +155,16 @@ Geprüft wird vorher: - Der alte Benutzer existiert **nicht** mehr. Gibt es ihn noch, bricht das Script ab und verweist auf die normale Umbenennung, die auch `users.cfg` mitzieht. -- Hat der Zielbenutzer schon ein Verzeichnis mit Mails darin, bricht das Script - ab. Mit `--force` wird das bestehende Verzeichnis als - `.abgeloest-` beiseitegeschoben statt gelöscht — die Mails - bleiben also erhalten, werden aber **nicht** zusammengeführt. +- Hat der Zielbenutzer schon ein Postfach mit Mails darin, bricht das Script ab. + Mit `--force` wird es abgelöst: umbenannt nach + `.abgeloest-`, danach rückt die übernommene Mailbox nach. + **Gelöscht wird nichts** — das alte Postfach liegt vollständig daneben und + kann nach einer Kontrolle von Hand weg. + +Zusammengeführt wird bewusst nicht: Kerio führt eigene Indexdateien +(`index.fld`, `.journal.db`), die beim Hineinkopieren fremder Mails nicht mehr +passen würden. Das Verschieben eines vollständigen Verzeichnisses nimmt sie +dagegen mit. Nach der Übernahme wird die Kontaktkarte des Benutzers (`.personal`) auf den neuen Namen und die neue Adresse umgeschrieben, `stats.usr` beiseitegelegt — diff --git a/kerio_rename_user.py b/kerio_rename_user.py index a809868..c73ff0b 100755 --- a/kerio_rename_user.py +++ b/kerio_rename_user.py @@ -200,11 +200,11 @@ def plan_store_adoption(store_dir: Path, domain_name: str, source_name: str, existing_mails = count_mails(target) if existing_mails and not force: raise AbortedError( - f"Das Zielverzeichnis '{target}' enthaelt bereits " - f"{existing_mails} Mail(s). Die Uebernahme wuerde sie " - "beiseiteschieben statt zusammenzufuehren. Mit --force " - "trotzdem, dann bleiben sie unter " - f"'{target.name}.abgeloest-{stamp}' erhalten." + f"Das Postfach von '{target_login}' enthaelt bereits " + f"{existing_mails} Mail(s) und wuerde abgeloest. Mit " + "--force durchfuehren - es wird dann nach " + f"'{target.name}.abgeloest-{stamp}' umbenannt und bleibt " + "vollstaendig erhalten, geloescht wird nichts." ) moves.append((target, domain_dir / f"{target.name}.abgeloest-{stamp}"))