您的位置:首页 > 数据库 > SQL

Linux运维笔记-文档总结-postfix+mysql+dovecot

2017-05-25 00:14 861 查看
以下所有操作都是在Red-hat 7.0上

MYSQL和postfix结合,将邮件的用户,密码,目录一些列东西写到表里进行身份的验证!

1.准备实验环境



2.在数据库里建立表,并填充邮件的信息





3.建立MYSQL用户并授权



4.添加查询文件

vim /etc/postfix/mailuser.cf #用户名称查询
hosts = localhost           #数据库所在主机
user = postuser         #登陆数据库的用户
password = postuser     #登陆数据库的密码
dbname = email          #postfix要查询的名称
table = emailuser       #postfix要查询的表的名称
select_field = username     #postfix要查询的字段
where_field = username      #用户给定postfix的查询条件


vim maildomain.cf   #用户域名查询
hosts = localhost
user = postuser
password = postuser
dbname = email
table = emailuser
select_field = domain
where_field = domain


vim mailbox.cf   #用户邮箱位置查询
hosts = localhost
user = postuser
password = postuser
dbname = email
table = emailuser
select_field = maildir
where_field = username


5.测试

[root@westos-mail postfix]# postmap -q "ning@ning.com" mysql:/etc/postfix/mailuser.cf
ning@ning.com
[root@westos-mail postfix]# postmap -q "ning.com" mysql:/etc/postfix/maildomain.cf
ning.com
[root@westos-mail postfix]# postmap -q "ning@ning.com" mysql:/etc/postfix/mailbox.cf
/mnt/ning.com/ning


MYSQL和postfix还有dovecot进行联合组建邮件系统。现在配置dovecot部分!

1.安装dovecot及所需要的插件。

yum install dovecot dovecot-mysql -y ##dovecot-mysql是dovecot软件的插件,可以识别mysql

2.配置dovecot

1.创建接收用户

groupadd -g 666 vmail

useradd -s /sbin/nologin -u 666 vmail -g 666

2.指定虚拟用户接收身份,位置和域名

virtual_mailbox_base = /home/vmail ##设定虚拟用户的邮件目录

681 virtual_mailbox_maps = mysql:/etc/postfix/mailbox.cf

682 virtual_uid_maps = static:666 ##虚拟用户建立文件的uid

683 virtual_gid_maps = static:666 ##虚拟用户建立文件的gid

684 virtual_alias_maps = mysql:/etc/postfix/mailuser.cf

685 virtual_mailbox_domains = mysql:/etc/postfix/maildomain.cf

3.vim /etc/dovecot/dovecot.conf ##主配置文件

24 protocols = imap pop3 lmtp ##支持的协议

48 login_trusted_networks =0.0.0.0/0 ##允许任何网络段的登入

49 disable_plaintext_auth = no ##使用明文密码登入

4.vim /etc/dovecot/conf.d/10-auth.conf ##进入认证的配置文件

123 !include auth-sql.conf.ext ##开启mysql的认证方式

5.cp /usr/share/doc/dovecot-2.2.10/example-config/dovecot-sql.conf.ext /etc/dovecot/dovecot-sql.conf.ext #生成dovecot读取mysql

6.vim /etc/dovecot/dovecot-sql.conf.ext

32 driver = mysql ##数据库类型

71 connect = host=localhost dbname=email user=postuser password=postuser #查询时用到库的信息

78 default_pass_scheme = PLAIN #使用明文密码登入

107 password_query = \ #查询密码匹配

108 SELECT username, domain, password \

109 FROM emailuser WHERE username = ‘%u’ AND domain = ‘%d’ #从表中找username和domain的信息

125 user_query = SELECT maildir, 666 AS uid, 666 AS gid FROM emailuser WHERE username = ‘%u’ ###uid和gid是666确定接收用户。

7. vim /etc/dovecot/conf.d/10-mail.conf

30 mail_location = maildir:/home/vmail/%d/%n ##接收邮件的位置

%u - username

18 # %n - user part in user@domain, same as %u if there’s no domain

19 # %d - domain part in user@domain, empty if there’s no domain

17 # %u - username

168 first_valid_uid = 666

175 first_valid_gid = 666

3.配置完成后,重启服务dovecot

systemctl restart dovecot







4.测试

使用telnet进行远程测试!



The end

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息