Postfix+dovecot+mysql构建邮件系统

 Postfix+dovecot+mysql构建邮件系统 php

实验平台:rhel6 html

所需软件包:httpd  bind mysql-server dovecot dovecot-mysql php  php-mysql mysql

实验前关闭selinuxiptables linux

一、  安装实验所需软件包 web

yum install  httpd  bind  mysql-server dovecot dovecot-mysql php php-mysql –y sql

二、  配置dns服务器,解析邮件服务器的域名 数据库

三、  安装postfixadmin并配置 vim

tar  -xzvf  postfixadmin-2.1.0.gz  -C /var/www/html 服务器

service mysqld start dom

sql脚本导入到数据库

Service httpd start

利用postfixadminweb界面建立域和邮箱帐号

   

 

四、  建立虚拟用户的邮件存储目录并建立邮件存储目录的帐号:

useradd  -M  -s /sbin/nologin –u 1001 postfixadmin

mkdir /virtual_box

chown 1001.1001 virtual_box

五、  postfix挂接mysql

vim /etc/postfix/main.cf

           myhostname =mail.lck.org

           mydomain = lck.org

           myorigin=$mydomain

           inet_interfaces = all

           mynetworks = 192.168.1.0/24

readme_directory = no

virtual_mailbox_base = 虚拟用户的邮件存储目录

virtual_mailbox_maps = 告诉postfix虚拟用户在数据库中的哪一个表里

virtual_mailbox_domains = 告诉postfix域在数据库中的哪一个表里

virtual_alias_maps = 告诉postfix邮件别名在数据库中的哪一个表里

virtual_uid_maps = 管理虚拟用户邮件存储目录的帐号的uid

virual_gid_maps = 管理虚拟用户邮件存储目录的帐号的gid

virtual_transport =  virtual

 

/etc/postfix/生成mysql_virtual_mailbox_maps.cf文件

  Vim  /etc/postfix/mysql_virtual_mailbox_maps.cf

         User = postfix

         Password = postfix

         Hosts=localhost

         Dbname= postfix

         Table= mailbox

         Select_filed = maildir

         Where_fied = username

/etc/postfix下生成mysql_virtual_domains_maps.cf文件

         Vim  /etc/postfix/mysql_virtual_domains_maps.cf

          User = postfix

          Password = postfix

          Hosts=localhost

          Dbname=postfix

          Table=domain

          Select_filed = description

          Where_filed = domain

/etc/postfix下生成mysql_virtual_alias_maps.cf

         Vim  /etc/postfix/mysql_virtual_alias_maps.cf

                   User = postfix

                   Password = postfix

                   Hosts = localhost

                   Dbname= postfix

                   Table = alias

                   Select_filed = goto

                   Where_filed = address

六、  验证postfix是否挂接到mysql

Postmap  -q  aaa@lck.org  mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf

 

出现如下结果则postfix挂接mysql成功

 

七、  dovecot挂接mysql

vim  /etc/dovecot/dovecot.conf

         开启破pop3协议

         Login_trusted_networks =

Vim /etc/dovecot/conf.d/10-auth.conf

         Disabled_plaintext_auth=no

         Auth_mechanisms = plain login

         开启sql认证:!include auth-sql.conf.ext

Vim /etc/dovecot/conf.d/10-main.conf

         Mail_location = maildir:~/虚拟用户邮件存储目录/Mailbox/%u

Vim /etc/dovecot/conf.d/auth-sql.conf.ext

         Passdb

                   Driver = sql

                   Args =/etc/dovecot/dovecot-sql.conf.ext

         Userdb

                   Driver = sql

                   Args =/etc/dovecot/dovecot-sql.conf.ext

/etc/dovecot下生成dovecot-sql.conf.ext 文件

         Media下有此文件的模板

         Cp  /media/dovecot-sql.conf.ext /etc/dovecot/

·

         修改虚拟用户的邮件存储目录和管理该目录的帐号的uidgid

八、  测试dovecot是否成功挂接mysql

telnet  邮件服务器地址   110dovecot端口

 出现如下结果表示dovecot链接数据库成功


九、  验证整个邮件系统

aaabbb发邮件

bbb功收到

 

Bbbaaa回复

Aaa成功收到

ok,该邮件系统搭建完成!!!!!!!!!!!!