1.配置mysql

  *实验之前,制作要使用数据库和表

wKioL1kk-oqACB_IAACzT-6QvTQ000.png

wKioL1kk-FfyU3DRAAD7tD-adVo753.png

  *添加数据库用户,并给其授权

wKiom1kk-K3BHH_BAAD17xC9UwE244.png

 * vim /etc/postfix/mailuser.cf     ##查询用户名

wKioL1kk-TbQR454AAA86Ae3MEo774.png

   1 host = localhost   ##数据库主机

  2 user = postuser    ##登录数据库用户

  3 password = 123     ##登录密码

  4 dbname = email    ##postfix查询库的名称

  5 table = emailuser  ##postfix查询表的名称

  6 select_field = username   ##postfix查询的字段

  7 where_field = username    ##给postfix查询的条件

 


  * vim /etc/postfix/maildomain.cf    ##域名查询

wKiom1kk-gShysJtAAA65T_xt7I441.png

  1 host = localhost

  2 user = postuser

  3 password = 123

  4 dbname = email

  5 table = emailuser

  6 select_field = domain

  7 where_field = domain



  * vim /etc/postfix/mailbox.cf    ##邮箱位置查询


   1 host = localhost

  2 user = postuser

  3 password = 123

  4 dbname = email

  5 table = emailuser

  6 select_field = maildir

  7 where_field = username


 测试

wKioL1kk_UDB4O3lAACWuDHl3DE565.png



  2.配置postfix

  * groupadd -g 666 vmail   ##添加用户组并指定gid为666

   useradd -s /sbin/nologin -u 666 vmail -g 666  ##添加用户,并指定uid和gid为666

wKiom1kk-0iTE7yPAAA9G-ZanQ0789.png-wh_50


 postconf -e "virtual_mailbox_base = /home/vmail"   ##设定虚拟用户邮件目录

   postconf -e "virtual_uid_maps = static:666"      ##指定虚拟用户建立文件uid

   postconf -e "virtual_gid_maps = static:666"      ##指定虚拟用户建立文件gid

   postconf -e "virtual_alias_maps = mysql:/etc/postfix/mailuser.cf"  ##指定MySQL查找主机

   postconf -e "virtual_mailbox_domains = mysql:/etc/postfix/maildomain.cf"  ##指定MySQL查找域名

   postconf -e "virtual_mailbox_maps = mysql:/etc/postfix/mailbox.cf"  ##指定MySQL查找邮箱

wKioL1kk_NbBrQo_AADAlhTv-rE482.png

wKioL1kk_ODBZ2E2AACZSvTFMT4638.png

  *systemctl restart postfix   ##重启postfix服务

wKiom1kk_QzToqpBAAAiyIagDU0393.png

  测试

  发送给linux@linux.com的邮件在/home/vmail/linux/new/里找到

wKiom1kk_YDSEgPfAAAdVJaNc0Q092.png

wKiom1kk_Yqz-APJAAFAoiOJxCk337.png