本文是实现一个基于虚拟账号的邮件系统的例子,读者日常生活中所用到的邮件账号都是虚拟账号,并不是登陆系统的账户,这些虚拟的账号存储在数据库中集中管理,今天小编要实现如下工作流程的邮件系统
各部分的功能:
MUA:可以使用客户端软件或者浏览器进行收发邮件但是都要结合认证,要实现浏览器访问,服务器必须搭建相应的站点,这里就使用了extmail,extman作为管理工具(域和用户的管理)
MTA:发送信件,这里小编使用源码postfix实现(老版的不支持mysql扩展),当然这里还要结合简单认证安全层(sasl,使用cyrus-sasl实现)和courier-authlib才能够最终和mysql联系起来
MRA:接收信件,小编这里使用dovecot来实现
软件需求
所需的源码包:courier-authlib-0.63.0.tar、extmail-1.2.tar、extman-1.1.tar、postfix-2.10.tar、Unix-Syslog-1.1.tar(源码包均来自互联网,如有需要可自行下载)
还需要系统自带的rpm包,这里可以使用yum安装
yum install -y mysql openssl-devel perl-DBD-MySQL tcl tcl-devel libart_lgpl libart_lgpl-devel libtool-ltdl libtool-ltdl-devel expect
Step 1.网卡以及主机名参数设置
# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
NETMASK=255.255.255.0
IPADDR=192.168.111.10
# vim /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=mail.zzu.com