在现有的 dovecot 安装中,有许多使用区域字符的预先存在的文件夹,我想将 m-UTF7 ( .&AMk-l&AOk-ments envoy&AOk-s
) 文件夹名称更改为 UTF8 ( .Éléments envoyés
)。
除其他原因外,我的主要原因是像上面这样的文件夹在 shell 中为我打破了 TAB 完成导航。而且替换名称在视觉上解析起来更加容易且令人愉悦。
dovecot 中是否有一个促进选项变更的集成机制?喜欢:
if maildirCharSetOption==UTF8 and CurrentFolder.instr('&') then
SilentlyRenameFolderToUTF8(Currentfolder)`
或类似的?
或者是推荐的方式(也是唯一的方式):
- 以某种方式创建受影响的文件夹列表
- 使用一些脚本、awk 和/或 sed 来
- 生成包含大量
mv
命令的 shell 批处理命令文件 - 检查脚本输出批处理文件的正确性
- 关闭鸽子,后缀,
- 重新运行脚本以获取 up2date 文件夹列表并将其处理为
mv
命令 - 运行生成的批处理脚本文件
- 将 dovecot 配置更改为“mail_location =maildir:/var/mail/%u:UTF-8=什么”
- 再次启动 dovecot&postfix
从文档中不清楚我是否应该使用UTF-8=yes
or true
or 1
,或者只是UTF-8
不使用=<value>
。
我对如何完成上述工作有一个可行的想法,但想知道是否有更好的方法,或者之前继承了 m-UTF7 安装的人的完整脚本,并希望分享。
我认为,可能有一种方法可以暂时暂停 dovecot 交付,而不是停止 dovecot、postfix 等。乍一看,它似乎doveadm
可以用于翻译,而不是手动翻译表。
看来,m-UTF7 是默认的。这是为什么?或者,是否有理由反对使用 UTF-8 作为文件夹名称?
答案1
UTF-8是仅键选项,即:
mail_home = /home/data/%d/%n
mail_location = maildir:~/mail:LAYOUT=fs:DIRNAME=_m_a_i_l_:UTF-8
看:
https://doc.dovecot.org/configuration_manual/mail_location/ https://github.com/dovecot/core/blob/master/src/lib-storage/mailbox-list.c#L317