紧接上篇文章。关于postfix的配置上一篇文章已经给大家介绍了。
这篇文章给大家介绍下Dovecot的相关配置。(文件下载在最后)
附上一篇博客地址:https://blog.csdn.net/bicheng4769/article/details/102960319
需要修改的文件:
listen = *
dict {
#quota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext
#expire = sqlite:/etc/dovecot/dovecot-dict-sql.conf.ext
}
!include conf.d/*.conf
!include_try local.conf
passdb {
#指定认证密码的方式采用sql认证,使用的sql是使用dovecot-sql.conf.ext的配置
driver = sql
args = /etc/dovecot/dovecot-sql.conf.ext
}
#指定用认证,采用静态统一的用户,也就是我们之前设置vmail账户 5000就是uid
userdb {
driver = static
args = uid=5000 gid=5000 home=/mnt/vmail/%d/%n
}
#调试阶段建议开启debug模式
auth_debug_passwords= no
mail_debug= no
auth_verbose=no
auth_verbose_passwords=plain
上述配置的大概意思 开启conf.d下面所有的配置,配置认证方式,采用sql认证。
如果没有的话直接创建也可以:
内容如下:
driver = mysql
connect = host=127.0.0.1 dbname=email user=root password=root port=3306
default_pass_scheme = plain
password_query = SELECT username AS user,password FROM mailbox WHERE username = '%u' AND active='1';
user_query = SELECT maildir, 5000 AS uid, 5000 AS gid, CONCAT('dict:storage=',floor(quota/1000),' proxy::quota') as quota FROM mailbox WHERE username = '%u' AND active='1';
基本和之前postfix的配置差不多。
#指定邮件存储的地址
mail_location = maildir:/mnt/vmail/%d/%n/Maildir
#=。= 不知道为啥
first_valid_uid = 1000
# 同上
mbox_write_locks = fcntl
# 增加明文认证
disable_plaintext_auth = no
auth_mechanisms = plain login
service imap-login {
inet_listener imap {
port = 143
}
inet_listener imaps {
#port = 993
#ssl = yes
}
}
service pop3-login {
inet_listener pop3 {
port = 110
}
inet_listener pop3s {
#port = 995
#ssl = yes
}
}
service lmtp {
unix_listener lmtp {
#mode = 0666
}
}
service imap {
#process_limit = 1024
}
service pop3 {
#process_limit = 1024
}
service auth {
unix_listener auth-userdb {
mode = 0666
user = vmail
group = vmail
}
# Postfix smtp-auth
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}
}
service auth-worker {
#user = root
}
service dict {
unix_listener dict {
#mode = 0600
#user =
#group =
}
}
设置 auth-userdb 为之前创建的 postfix 专用用户 vmail
ssl = yes
ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
ssl_key = </etc/pki/dovecot/private/dovecot.pem
重启dovecot
service postfix restart
该如何测试?
在之前的文章中数据库有几章表,在对应的表中添加数据
domain 添加对应的域名
我这里给一条sql:
INSERT INTO `domain` (`domain`,`description`,`aliases`,`mailboxes`,`maxquota`,`quota`,`transport`,`backupmx`,`created`,`modified`,`active`) VALUES ('test.cn','江苏',0,0,10,2048,'virtual',0,'1970-01-01 00:00:00','1970-01-01 00:00:00',1);
mailbox加入数据:
INSERT INTO `mailbox` (`username`,`password`,`name`,`maildir`,`quota`,`local_part`,`domain`,`created`,`modified`,`active`,`is_deleted`) VALUES
('[email protected]','123456','caojing','test.cn/caojing/',0,'caojing','caojing.cn','2019-11-05 16:58:30','2019-11-05 16:58:30',1,NULL);
别名表 alias也添加一条记录:
INSERT INTO `alias` (`address`,`goto`,`domain`,`created`,`modified`,`active`) VALUES
('[email protected]','[email protected]','test.cn','2019-11-05 16:58:30','2019-11-05 16:58:30',1);
我们这里使用建议的第三方应用登录,我使用的是网易闪电邮,直接百度就可以下载了
@网易爸爸 给我广告费哦
填入帐号密码 :
就我们刚才数据库插入的 [email protected] 密码:123456
下一步
我们这里使用的是ssl登录,所以 端口就不是25了,而是465。
注意这里有个 “测试账户当前配置”,点一下,如果没有没有问题,就会出现如图所示:
ok至此配置成功:
总结:
多看官方文档,对陌生的东西,官方说明永远是最直接最准确的。
dovecot配置下载