当前位置:   article > 正文

Postfix+Dovecot+Roundcube开源邮件系统搭建系列4:Dovecot安装配置

Postfix+Dovecot+Roundcube开源邮件系统搭建系列4:Dovecot安装配置

1. Dovecot安装

安装Dovecot:

yum -y install dovecot dovecot-mysql

启动服务并设置开机自启动:

  1. systemctl start dovecot
  2. systemctl enable dovecot

2. Dovecot配置

Dovecot配置文件目录:/etc/dovecot,在该目录中dovecot.conf和conf.d目录下的配置文件很重要,下面分别做配置介绍。

2.1 /etc/dovecot/dovecot.conf 配置文件:

该配置文件是dovecot的主配置,去掉注释,相对简单。主要内容如下:

  1. # 启动imap、pop3、lmtp协议
  2. protocols = imap lmtp pop3
  3. # 监听所有地址,包含ipv4和ipv6
  4. listen = *, ::
  5. # 最大连接数限制
  6. mail_max_userip_connections = 50
  7. # 包含conf.d目录下所有的.conf配置文件
  8. !include conf.d/*.conf
  9. !include_try local.conf

2.2 /etc/dovecot/conf.d/10-mail.conf  配置文件:

增加或修改如下配置:

  1. # 邮件存储位置,%d表示域名,%n表示用户名
  2. mail_location = maildir:/var/mail/vhosts/%d/%n
  3. # /var/mail的权限组设置为mail
  4. mail_privileged_group = mail

2.3 用户及目录配置

添加用户和组:

  1. groupadd -g 5000 vmail
  2. useradd -g vmail -u 5000 vmail -d /var/mail

创建域名目录:

  1. # 域名需要根据实际更换
  2. mkdir -p /var/mail/mailabc.cn

设置目录所有者和所有组:

  1. chown -R vmail:vmail /var/mail/mailabc.cn
  2. chown -R vmail:dovecot /etc/dovecot
  3. chmod -R o-rwx /etc/dovecot

2.4 /etc/dovecot/conf.d/10-auth.conf 配置文件:

添加或修改如下配置:

  1. # 禁用明文密码
  2. disable_plaintext_auth = yes
  3. # 密码授权机制设置为明文,即密码本身不做加密,我们已经启用了TLS传输加密
  4. auth_mechanisms = plain login
  5. # 引用该配置文件启用MySQL授权
  6. !include auth-sql.conf.ext
  7. # 屏蔽系统授权的配置
  8. #!include auth-system.conf.ext

2.5 /etc/dovecot/conf.d/auth-sql.conf.ext 配置文件:

修改如下配置段内容:

  1. passdb {
  2. driver = sql
  3. # 这里引入下面的配置文件作为mysql的相关参数
  4. args = /etc/dovecot/dovecot-sql.conf.ext
  5. }
  6. userdb {
  7. # 用户数据采用static (静态) 方式,通常,SQL数据库也可以做这件事,也可以通过它得到用户的UID,GID和主目录。但此处如果我们仅使用静态UID和GID,并且可以使用模板指定主目录,它会比SQL方式略快一些。
  8. driver = static
  9. args = uid=vmail gid=vmail home=/var/mail/vhosts/%d/%n
  10. }

2.6 /etc/dovecot/dovecot-sql.conf.ext 配置文件:

/etc/dovecot/conf.d/auth-sql.conf.ext 引用了该配置文件,用于查询用户和密码。具体内容如下(其中的数据库名称、授权用户及密码需要根据实际情况修改):

  1. driver = mysql
  2. connect = host=127.0.0.1 dbname=maildb user=mailuser password=admin@123
  3. default_pass_scheme = SHA512-CRYPT
  4. password_query = SELECT email as user, password FROM vt_user WHERE email='%u';

附件说明:查询必须返回用户名和密码,并且 Dovecot 必须在 user 和 password 变量中使用这些值。因此,如果数据库使用不同的列名称,请使用 AS SQL 命令重命名结果中的列。

2.7 /etc/dovecot/conf.d/10-master.conf 配置文件:

这个文件主要作用是为了打通dovecot和postfix的关联,授权postfix通过lmtp协议访问属于dovecot的地盘,访问权限是0600,表示有读写权限,但无执行权限。这个文件的源文件也比较庞杂,里面对多个协议都有设定,但是如果你全部把它们删了也没关系,等于采用默认设置。

参考内容如下:

  1. service lmtp {
  2. unix_listener /var/spool/postfix/private/dovecot-lmtp {
  3. mode = 0600
  4. user = postfix
  5. group = postfix
  6. }
  7. }
  8. service auth {
  9. unix_listener /var/spool/postfix/private/auth {
  10. mode = 0666
  11. user = postfix
  12. group = postfix
  13. }
  14. unix_listener auth-userdb {
  15. mode = 0600
  16. user = vmail
  17. }
  18. user = dovecot
  19. }
  20. service auth-worker {
  21. user = vmail
  22. }

2.8 /etc/dovecot/conf.d/10-ssl.conf 配置文件:

该配置文件主要用来配置ssl协议及相关证书。

  1. ssl = required
  2. # 指定证书位置,和Postfix采用相同的证书
  3. ssl_cert = </var/sslcert/www.mailabc.cn.pem
  4. ssl_key = </var/sslcert/www.mailabc.cn.key
  5. ssl_cipher_list = PROFILE=SYSTEM

2.9 /etc/dovecot/conf.d/15-mailboxes.conf 配置文件:

这个文件是用来指定收件箱的命名空间的,auto = create表示当这些邮箱都没有的时候,就自动创建它,这里指定的都是常规的,比如收件箱,已发送,垃圾箱,已删除等等,如果需要别的种类,请自行研究。

  1. namespace inbox {
  2. # inbox = yes配置是增加的,据说不加会有问题
  3. inbox = yes
  4. mailbox Drafts {
  5. auto = create
  6. special_use = \Drafts
  7. }
  8. mailbox Junk {
  9. auto = create
  10. special_use = \Junk
  11. }
  12. mailbox Trash {
  13. auto = create
  14. special_use = \Trash
  15. }
  16. mailbox Sent {
  17. auto = create
  18. special_use = \Sent
  19. }
  20. mailbox "Sent Messages" {
  21. auto = create
  22. special_use = \Sent
  23. }
  24. }

3. 测试验证

至此,Dovecot 配置已完毕,可以重启服务进行测试验证。

stystemctl restart postfix dovecot

3.1 端口监听检查

通过netstat命令查看,可以看到110、143、993、995、587、25、465端口监听均正常。

  1. [root@localhost ~]# netstat -tuanp | grep -i listen
  2. tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN 2331/dovecot
  3. tcp 0 0 0.0.0.0:995 0.0.0.0:* LISTEN 2331/dovecot
  4. tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 795/mariadbd
  5. tcp 0 0 0.0.0.0:587 0.0.0.0:* LISTEN 1692/master
  6. tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN 2331/dovecot
  7. tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 2331/dovecot
  8. tcp6 0 0 :::25 :::* LISTEN 1692/master
  9. tcp6 0 0 :::993 :::* LISTEN 2331/dovecot
  10. tcp6 0 0 :::995 :::* LISTEN 2331/dovecot
  11. tcp6 0 0 :::3306 :::* LISTEN 795/mariadbd
  12. tcp6 0 0 :::587 :::* LISTEN 1692/master
  13. tcp6 0 0 :::110 :::* LISTEN 2331/dovecot
  14. tcp6 0 0 :::143 :::* LISTEN 2331/dovecot
  15. tcp6 0 0 :::465 :::* LISTEN 1692/master

3.2 服务连通性检查

smtp服务:

  1. [root@localhost ~]# telnet 0 25
  2. Trying 0.0.0.0...
  3. Connected to 0.
  4. Escape character is '^]'.
  5. 220 mail.mailabc.cn ESMTP Postfix

pop3服务:

  1. [root@localhost ~]# telnet 0 110
  2. Trying 0.0.0.0...
  3. Connected to 0.
  4. Escape character is '^]'.
  5. +OK Dovecot ready.

imap服务:

  1. [root@localhost ~]# telnet 0 143
  2. Trying 0.0.0.0...
  3. Connected to 0.
  4. Escape character is '^]'.
  5. * OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ STARTTLS AUTH=PLAIN AUTH=LOGIN] Dovecot ready.

3.3 客户配置测试

Foxmail配置imap协议,并进行收发测试。

Foxmail客户端配置

至此,Dovecot配置完毕。

其他配置请参考本系列其他文章。

参考来源:Postfix+Dovecot+Roundcube开源邮件系统搭建系列4:Dovecot安装配置 | MailABC邮件知识百科

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小桥流水78/article/detail/846266
推荐阅读
相关标签
  

闽ICP备14008679号