Postfix+dovecot+mysql构建邮件系统
实验平台:rhel6
所需软件包:httpd bind mysql-server dovecot dovecot-mysql php php-mysql
实验前关闭selinux和iptables
1、 安装实验所需软件包
yum install httpd bind mysql-server dovecot dovecot-mysql php php-mysql –y
2、 配置dns服务器,解析邮件服务器的域名
3、 安装postfixadmin并配置
tar -xzvf postfixadmin-2.1.0.gz -C /var/www/html
service mysqld start
将sql脚本导入到数据库
Service httpd start
利用postfixadmin的web界面创建域和邮箱账号
4、 创建虚拟用户的邮件存储目录并创建邮件存储目录的账号:
useradd -M -s /sbin/nologin –u 1001 postfixadmin
mkdir /virtual_box
chown 1001.1001 virtual_box
5、 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
6、 验证postfix是否挂接到mysql
Postmap -q [email protected] mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
出现以下结果则postfix挂接mysql成功
7、 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/
·
修改虚拟用户的邮件存储目录和管理该目录的账号的uid和gid
8、 测试dovecot是否成功挂接mysql
telnet 邮件服务器地址 110(dovecot端口
出现以下结果表示dovecot连接数据库成功
9、 验证整个邮件系统
aaa给bbb发邮件
bbb成功收到
Bbb给aaa回复
Aaa成功收到
ok,该邮件系统搭建完成!!!!!!!!!!!!