Zum Hauptinhalt gehen

Einen E-Mail-Baum von einem Konto auf ein anderes übertragen

Ziel

Nach dem Ausscheiden eines Benutzers oder z.B. bei der Wiederaufnahme einer Tätigkeit möchten Sie die Nachrichten eines Benutzers an einen Mitarbeiter weiterleiten. Sie möchten die Nachrichten mit demselben Ordnerbaum abrufen, ohne diesen manuell neu erstellen zu müssen.

Probleme beim Treffen

  • BlueMind Webmail erlaubt es nicht, Ordner aus einem freigegebenen Postfach oder von einem anderen Benutzer zu kopieren/verschieben.
  • Fat Clients, selbst mit Import/Export-Erweiterungen, verarbeiten das Kopieren von Ordnern von einem Konto zu einem anderen schlecht oder gar nicht.

Lösung

Führen Sie eine Übertragung mit dem Dienstprogramm imapsync durch, das eine feine Konfiguration ermöglicht, insbesondere durch das Ausschließen von Ordnern.

Imapsync installieren

  1. Verbinden Sie sich als Benutzer root über SSH mit dem BlueMind-Kernserver

  2. sich in das Verzeichnis /usr/local/bin begeben:

    cd /usr/local/bin
  3. imapsync herunterladen und die Datei ausführbar machen:

    wget https://raw.githubusercontent.com/imapsync/imapsync/imapsync-2.200/imapsync
    chmod +x /usr/local/bin/imapsync
  4. die notwendigen Abhängigkeiten installieren :

    apt install -y libdigest-hmac-perl libfile-copy-recursive-perl libio-socket-inet6-perl libio-socket-ssl-perl libio-tee-perl libmail-imapclient-perl libterm-readkey-perl libunicode-string-perl libreadonly-perl libsys-meminfo-perl libregexp-common-perl libfile-tail-perl libencode-imaputf7-perl

imapsync verwenden

Vorbereitung

Anwendungsfall: Du willst die E-Mails eines Nutzers, der die Firma verlässt, in das Konto seines Nachfolgers übernehmen:

  • Server: bm.bluemind.loc für beide Benutzer
    NB: Das Verfahren kann für 2 verschiedene Server/Domänen verwendet werden, siehe die Optionen unten in den Befehlszeilen.
  • Bertrand: Ausgehender Benutzer → Benutzer1 für imapsync
  • Nathalie: Zielbenutzer → Benutzer2 für imapsync
Mot de passe

Wenn das Passwort dem Administrator nicht bekannt ist, kann er :

  • das Passwort im Administrationsblatt des Benutzers auf der Registerkarte Wartung ändern
  • Melden Sie sich als Benutzer an, um einen API-Schlüssel zu generieren (Einstellungen > API-Schlüssel) und verwenden Sie diesen anstelle des Passworts

Verfahren

Zunächst die Ordnernstruktur neu erstellen (Option --justfolders):

imapsync --host1 bm.bluemind.loc --user1 bertrand@bluemind.loc --password1 8ertranD --host2 bm.bluemind.loc --user2 nathalie@bluemind.loc --password2 Nathali3 \
--authmech2 PLAIN \
--port2 143 \
--sep1 "/" \
--exclude '^Freigegebene Ordner' \
--exclude '^Outbox' \
--exclude '^Junk' \
--exclude '^Trash' \
--exclude '^Andere Benutzer' \
--nofoldersizes \
--buffersize 8192000 \
--sep2 "/" \
--justfolders \
--subfolder2 "Nathalie" Ð
--dry
Ausschluss von Ordnern

Wir entscheiden uns hier, die folgenden Ordner auszuschließen:

  • Gemeinsame Ordner (Struktur mit freigegebenen Postfächern und Benutzern): Es ist nicht sinnvoll, den Inhalt dieser Ordner in unserem Anwendungsfall zu kopieren; es ist vorzuziehen, dem neuen Benutzer das Leserecht für die betroffenen Postfächer zu geben NB: Aus Gründen der Codierung wird der Begriff "Gemeinsame Ordner" vor dem akzentuierten Zeichen bewusst abgeschnitten.
  • Ausgangspostfach: Postausgang, dies sind Nachrichten, die auf den Versand warten, nicht zu verwechseln mit gesendeten Nachrichten
  • Junk: unerwünscht, es ist auch nicht sinnvoll, Zeit und Festplattenspeicherplatz für unerwünschte Nachrichten zu "verschwenden"
  • Papierkorb: wie bei unerwünschten Nachrichten wird entschieden, den Papierkorb nicht wiederherzustellen

Wenn man einen dieser Ordner in die Synchronisation einbeziehen möchte, kann man im obigen Code einfach die entsprechenden Zeilen löschen.

Wir haben uns jedoch dafür entschieden, die Ordner "Gesendete Nachrichten" (Sent) und "Entwürfe" (Drafts) zu behalten, die uns für die Historie interessant erscheinen. Wenn man sie ausschließen will, muss man folgende Zeilen hinzufügen:

--exclude '^Sent' \
--exclude '^Drafts' \

Nach Abschluss einen Importtest durchführen (diesmal ohne die Option --justfolders, um den vollständigen Import mit Nachrichten zu testen) unter Verwendung der Option --dry :

imapsync --host1 bm.bluemind.loc --user1 bertrand@bluemind.loc --password1 8ertranD --host2 bm.bluemind.loc --user2 nathalie@bluemind.loc --password2 Nathali3 \
--authmech2 PLAIN \
--port2 143 \
--sep1 "/" \
--exclude '^Freigegebene Ordner' \
--exclude '^Outbox' \
--exclude '^Junk' \
--exclude '^Trash' \
--exclude '^Andere Benutzer' \
--nofoldersizes \
--buffersize 8192000 \
--sep2 "/" \
--subfolder2 "Nathalie" \
--dry
info

Diese Befehlszeile kann jederzeit ausgeführt werden, insbesondere vor der Erstellung der Ordnerhierarchie: Das Log wird darüber informieren, welche Ordner synchronisiert werden (oder nicht). Es ist auch möglich, die Option --dry dem vorherigen Befehl hinzuzufügen, um die Erstellung der Ordnerhierarchie zu testen.

Wenn das Testergebnis erfolgreich ist, kann das Verfahren gestartet werden, indem der gleiche Befehl ohne die abschließende --dry-Option ausgeführt wird.

Syntax

Wenn du Befehle bearbeitest, um Optionen hinzuzufügen oder zu entfernen, denke daran, das Backslash-Zeichen '' am Ende der Zeile einzufügen, außer in der letzten Zeile deines Befehls.