In einer bestehenden Dovecot-Installation mit vielen bereits vorhandenen Ordnern, die regionale Zeichen verwenden, möchte ich .&AMk-l&AOk-ments envoy&AOk-s
die Ordnernamen von m-UTF7 ( ) in UTF8 ( .Éléments envoyés
) ändern.
Mein Hauptgrund ist unter anderem, dass Ordner wie der oben genannte die Navigation mit TAB-Vervollständigung in der Shell für mich unterbrechen. Und die Ersatznamen sind viel einfacher und angenehmer visuell zu analysieren.
Gibt es in Dovecot einen integrierten Mechanismus, der den Optionswechsel erleichtert? Wie:
if maildirCharSetOption==UTF8 and CurrentFolder.instr('&') then
SilentlyRenameFolderToUTF8(Currentfolder)`
o.ä?
Oder ist der empfohlene (und einzige) Weg:
- irgendwie eine Liste der betroffenen Ordner erstellen
- Verwenden Sie Skripte, awk und/oder sed, um
- Shell-Batch-Befehlsdatei mit vielen
mv
Befehlen generieren - Überprüfen Sie die Batch-Datei der Skriptausgabe auf Richtigkeit
- Dovecot herunterfahren, Postfix,
- Führen Sie das Skript erneut aus, um die aktuelle Ordnerliste abzurufen und diese in
mv
Befehle umzuwandeln. - Ausführen der resultierenden Batch-Skriptdatei
- Ändern Sie die Dovecot-Konfiguration in "mail_location =maildir:/var/mail/%u:UTF-8=Was"
- starten Sie Dovecot&Postfix erneut
Aus der Dokumentation geht nicht hervor, ob ich UTF-8=yes
oder true
oder 1
oder einfach UTF-8
ohne verwenden soll =<value>
.
Ich habe eine praktikable Idee, wie sich das oben genannte erreichen lässt, frage mich jedoch, ob es einen besseren Weg gibt oder ein fertiges Skript von jemandem, der zuvor eine m-UTF7-Installation geerbt hat und dieses weitergeben möchte.
Ich denke, es könnte eine Möglichkeit geben, die Dovecot-Auslieferung vorübergehend auszusetzen, anstatt Dovecot, Postfix usw. zu stoppen. Und auf den ersten Blick sieht es so aus, als doveadm
könnte man dies anstelle einer manuellen Übersetzungstabelle für die Übersetzung nutzen.
Es scheint, dass m-UTF7 die Standardeinstellung ist. Warum ist das so? Oder: Gibt es Gründe, die gegen die Verwendung von UTF-8 für Ordnernamen sprechen?
Antwort1
UTF-8ist eine Nur-Schlüssel-Option, also:
mail_home = /home/data/%d/%n
mail_location = maildir:~/mail:LAYOUT=fs:DIRNAME=_m_a_i_l_:UTF-8
sehen:
https://doc.dovecot.org/configuration_manual/mail_location/ https://github.com/dovecot/core/blob/master/src/lib-storage/mailbox-list.c#L317