Dovecot解决新版Outlook的IMAP文件夹问题
Across the Greatwall we can reach every corner in the world
起因
自从跟着Archwiki自建了Postfix+Dovecot的邮件服务之后一直用的还不错,只是Windows 10 Mail和Outlook并不认识默认的IMAP文件夹,总会自己创建诸如名为 "Sent Items"
和
"Deleted Items"
的文件夹,用来作为已发送和已删除的默认IMAP文件夹,就像这样:
结果不同邮件客户端的邮件就开始散养(雾)
而后了解到,自从Outlook2013以后,Outlook使用了 RFC6154
的 XLIST
命令去发现邮箱中的订阅文件夹配置,而ArchWiki的教程配置(见最末尾链接)并没有包含。于是要给dovecot加上mailbox配置,以便邮件客户端自动配置文件夹。
步骤
在 /etc/dovecot/conf.d/
中新增配置文件 15-mailbox.conf
,内容如下
namespace inbox {
inbox = yes
#下面的内容可以根据需要增减
mailbox Drafts {
special_use = \Drafts
auto=subscribe
}
mailbox Junk {
special_use = \Junk
auto=subscribe
}
mailbox Trash {
special_use = \Trash
auto=subscribe
}
mailbox "Deleted Items" {
special_use = \Trash
}
mailbox Sent {
special_use = \Sent
auto=subscribe
}
mailbox "Sent Items" {
special_use = \Sent
}
mailbox Archive {
special_use = \Archive
auto=no
}
mailbox "Archives" {
special_use = \Archive
auto=subscribe
}
}
保存并重启dovecot生效。
TroubleShooting
- 此方法经测试不会丢失原有文件夹数据。
- 若在登录时提示密码错误之类的可以去看下日志,如果发现类似下面报错的需留意上述配置文件line 2的
inbox = yes
。
Error: User initialization failed: namespace configuration error: inbox=yes namespace missing
- 默认情况下dovecot并不会添加
/etc/dovecot/conf.d
下面的配置文件,原因是该目录为空时会导致dovecot报错无法启动。若发现配置文件未生效可在/etc/dovecot/dovecot.conf
中添加
!include /etc/dovecot/conf.d/*.conf
参考
- Dovecot 邮件列表
- ArchWiki - Virtual user mail system(特别有用,尤其是你想建立一个自己的邮件服务器的时候)