dovecot的安装配置

dovecot的主要功能是将服务器上收到的邮件传递到用户客户端如foxmail、手机邮件app等。
dovecot的配置文件比较多,但如果要求不高的话,配置一个主要的配置文件也够了,就是/etc/dovecot/dovecot.conf。

1,最简单的dovecot.conf文件。
只能用系统用户登录pop3。测试方法:用foxmail或app配置pop方式收邮件。能收到邮件即ok。
!include conf.d/*.conf
protocols = pop3
mail_location = maildir:~/Maildir

2,这个dovecot.conf配置启用了虚拟用户。
启用后,可以将postfix收到的虚拟用户的邮件传递到客户端。当然也就支持可多个域了。实际上,这已经跟域没多大关系了,dovecot只是把指定邮件目录下的邮件传递给指定的用户。
!include conf.d/*.conf
protocols = pop3
mail_location = maildir:~/Maildir

passdb {
driver = passwd-file
args = scheme=CRYPT username_format=%u /etc/dovecot/users
}
userdb {
driver = passwd-file
args = username_format=%u /etc/dovecot/users
}

这里使用明文密码文件验证登录,密码文件位于/etc/dovecot/users。它的格式如:admin@abc.com:{plain}aaaaaa:5000:5000::/home/vmail/abc.com/admin
一个用户一条。从左到右依次为:用户名、加密方式和口令、代收用户的用户id、代收用户的组id、邮件所在文件夹。
这个地方的邮件所在文件夹没有包含Maildir部分,因为Maildir是程序自动加的,即前面的mail_location = maildir:~/Maildir。
当然,除了这个文件中指定的用户能pop登录并收取邮件外,系统用户也可以登录收邮件。
这个文件的用户名、目录的对应关系,与postfix的vmailbox中的用户名、目录对应关系是没有关系的。各负其责。

3,这个配置文件是在前面的基础上,添加语句了以支持postfix的sasl验证。和postfix配合使用。
!include conf.d/*.conf
protocols = pop3
mail_location = maildir:~/Maildir

passdb {
driver = passwd-file
args = scheme=CRYPT username_format=%u /etc/dovecot/users
}

userdb {
driver = passwd-file
args = username_format=%u /etc/dovecot/users
}

auth_mechanisms = plain login

service auth {
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}
}

4,开启加密传输
在配置文件dovecot.conf中添加以下部分,就开启了tls加密传输。
ssl = yes
ssl_cert = </etc/ssl/certs/ssl-cert-snakeoil.pem
ssl_key = </etc/ssl/private/ssl-cert-snakeoil.key

可以直接使用postfix的ssl证书,因为在安装postfix时自动生成了证书,可以在postfix的配置文件main.cf中看到相关路径信息。这地方直接引用就好了。
如何看是否启用了tls传输呢?我是这样看的。打开dovecot配置中的log,查看用户登录的log记录,发现其中有tls字样,我就认为启用加密传输了。也不知道对不对。

注意!强调!如有问题,查log。
dovecot的很多问题可以在它的log文件中看到,而且,log文件中还有解决问题的提示,非常方便。

目前探索了这么多。有时间再慢慢摸索。

1 comment

Leave a comment

Your email address will not be published. Required fields are marked *