
Dovecot 配置指南
Dovecot 是一个开源的 IMAP 和 POP3 邮件服务器,支持多种认证机制和邮件存储方式。以下是对 Dovecot 配置的详细说明,包括认证客户端配置、邮件存储路径设置以及服务端邮件过滤设置。
Dovecot 默认开启了 auth-client UNIX domain socket,但文件权限较严格。为了让 Exim 能够使用该 socket 进行认证,需要进行以下配置:
修改 socket 文件权限:将 auth-client 的属组改为 Debian-exim,以便 Exim 可以访问。
配置 /etc/dovecot.keytab:需要单独配置 /etc/dovecot.keytab,包含 smtp 和 imap 的 principals。同时,设置 auth_krb5_keytab 选项,因为 Dovecot 进程没有权限读取 /etc/krb5.keytab。
Exim 使用 Cyrus SASL 认证:如果 Exim 使用 Cyrus SASL 进行认证,则无需修改 auth-client 的属组,也无需在 dovecot.keytab 中包含 smtp principal。
设置认证机制:修改 auth_mechanisms 为 gssapi,以支持 GSSAPI 认证。
验证认证:使用以下命令验证用户认证是否成功:
由于用户帐号存储在 slapd 服务器上,且 http://gold.corp.example.com 不允许普通帐号直接 shell 登录,因此 /home/$USER 目录可能不存在。需要将邮件存储在 /srv/mail/%u/Mail 目录下。
设置 auth_username_format:修改 auth_username_format 为 %n,以便 Dovecot 在查找用户时仅使用 localpart。
修改 userdb 参数:指定 home 和 mail_location:
避免邮件与 Sieve 脚本混放:不将邮件直接存放在 home 下,以便在 home 下保存 Sieve 脚本。
Sieve 是一种有 RFC 规范的邮件过滤脚本语言,被 Exim、Dovecot、Cyrus 等邮件服务器支持。除了 Sieve,Exim 还支持自己的过滤脚本语法,功能更强大。两种过滤脚本均在 ~/.forward 文件中配置,通过特殊的文件头区分。
Debian Exim 默认配置了 ~/.procmail 和 ~/.mailfilter 的 router,分别用于 procmail 和 maildrop 做邮件过滤。
Exim 没有 ManageSieve 这样的协议标准,安装过滤器需要 shell 帐号去修改文件。而在 Dovecot 中,Sieve 脚本的安装可以通过客户端完成,例如:
由于邮箱帐号是系统帐号,没有虚拟账户,因此需要修改 Sieve 脚本的存储路径:
Dovecot 的配置涉及多个方面,包括认证客户端配置、邮件存储路径设置以及服务端邮件过滤设置。通过合理配置,可以实现高效的邮件服务。
