我在迁移电子邮件文件夹时遇到问题,因为许多文件夹名称中使用“。”。
我发现 Ubuntu 中当前 dovecot 默认的层次分隔符是“。”。据我所知,这使其成为文件夹名称中的禁用字符。我想按照注释掉的配置部分所述将其更改为“/”。
这是测试安装中 dovecot -n 的输出:
mail_location = maildir:~/Maildir
namespace inbox {
inbox = yes
location =
mailbox Drafts {
special_use = \Drafts
}
mailbox Junk {
special_use = \Junk
}
mailbox Sent {
special_use = \Sent
}
mailbox "Sent Messages" {
special_use = \Sent
}
mailbox Trash {
special_use = \Trash
}
prefix =
separator = /
}
passdb {
driver = pam
}
protocols = imap
ssl_cert = </etc/ssl/certs/ssl-cert-snakeoil.pem
ssl_key = </etc/ssl/private/ssl-cert-snakeoil.key
userdb {
driver = passwd
通过该设置,我可以观察到:将 IMAP 文件夹“test_com”更改为“test/com”会显示 Thunderbird 警告框,提示该字符已保留。这符合预期,因为我将其定义为层次分隔符。将 IMAP 文件夹“test_com”更改为“test.com”会显示服务器弹出消息“[CANNOT] 邮箱名称中不允许使用字符”
我必须进行哪些更改才能在文件夹名称中获得这些“。”?
由于这看起来相当困难(我一直在寻找,但还没有找到任何有用的东西),如果有人使用标准的 Ubunutu 设置实际上可以证实我的观察,那将很有帮助。也许我需要迈出艰难的一步,重新安装邮件系统。
谢谢您的帮助。
答案1
尝试这个
sed -i '
/ \# The default however depends on the underlying mail storage format./ {
N
s_ \# The default however depends on the underlying mail storage format.\n \#separator =_ \# The default however depends on the underlying mail storage format.\n \#separator =\n separator = /_
}' /etc/dovecot/conf.d/10-mail.conf