Linux下构架qmail邮件系统

(一)特点简介
安全性 为了验证Qmail的安全性,Qmail的支持者甚至出资$1000悬赏寻找 Qmail的安全漏洞,一年以后,该奖金没有被领取,而被捐献给自由软件基金会。目前,Qmail的作者也出资$500来寻求Qmail的安全漏洞 。

速度:Qmail在一个中等规模的系统可以投递大约百万封邮件,甚至在一 台486一天上能处理超过10万封邮件,起支持并行投递 。Qmail支持邮件的并行投 递,同时可以投递大约20封邮件 。目前邮件投递的瓶颈在于SMTP协议,通过STMP 向另外一台互联网主机投递一封电子邮件大约需要花费10多秒钟 。Qmail的作者 提出了QMTP(Quick Mail Transfer Protocol)来加速邮件的投递,并且在Qmail中得到支持 。Qmail的设计目标是在一台16M的机器上最终达到每天可以投递大约百万级数目的 邮件 。

可靠性:为了保证可靠性,Qmail只有在邮件被正确地写入到磁盘才返回 处理成功的结果,这样即使在磁盘写入中发生系统崩溃或断电等情况,也可以保 证邮件不被丢失,而是重新投递 。

特别简单的虚拟域管理,甚至有一个第三方开发的称为vchkpw的add-on来支持虚 拟POP域 。使用这个软件包,POP3用户不需要具有系统的正式帐户 。

使用ezmlm支持用户自控制的邮件列表功能 。

邮件用户和系统帐户隔离,为用户提供邮件帐户不需要为其设置系统帐户 ,从而增加了安全性 。
(以上摘自网上,由于没有找到原作者的署名,如果原作者碰巧看到,请与我联系,谢谢)
(二) 软件
* qmail-1.03.tar.gz qmail基本系统包
* ucspi-tcp-0.88.tar.gz tcpserver服务程序
* daemontools-0.76.tar.gz 监视工具
* checkpassword-0.90.tar.gz pop3验证用户程序
* cmd5checkpw-0.22.tar.gz 系统验证程序
* vpopmail-5.2.0.tar.gz 虚拟域用户pop3支持
* vqsignup-0.5.tar.gz web方式用户注册
* sqwebmail-3.3.7.tar.gz webmail
* qmailadmin-0.42.tar.gz 虚拟域web方式管理
* ezmlm-0.53.tar.gz 邮件列表管理
* autorespond-1.0.0.tar.gz 自动回复程序
* qmail-smtpd-auth-0.30.tar.gz SMTP认证补丁程序
(三) 安装配置
①. 安装环境准备
设置服务器工作环境和编译环境;并且准备好所有的软件包;然后设置qmail运行时候的用户和组 。
mkdir /var/qmail
groupadd nofiles
useradd -g nofiles -d /var/qmail/alias alias
useradd -g nofiles -d /var/qmail qmaild
useradd -g nofiles -d /var/qmail qmaill
useradd -g nofiles -d /var/qmail qmailp
groupadd qmail
useradd -g nofiles -d /var/qmail qmailq
useradd -g nofiles -d /var/qmail qmailr
useradd -g nofiles -d /var/qmail qmails
## 参考网址
## http://cr.yp.to/

②. 安装tcpserver服务程序
tar xvf ucspi-tcp-0.88.tar
cd ucspi-tcp-0.88
make
make setup check
③. 系统验证程序(可选)
# tar zxvf cmd5checkpw-0.22.tar.gz
# mkdir /usr/man
# mkdir /usr/man/man8
# cd cmd5checkpw-0.22
# make
# make install
④. 安装pop3用户验证程序
tar xvf checkpassword-0.90.tar
cd checkpassword-0.90
make
make setup check
chmod 4755 /bin/checkpassword
⑤. qmail解包
# tar xvzf qmail-1.03.tar.gz
⑥. SMTP补丁
tar zxvf qmail-smtpd-auth-0.30.tar.gz
cd qmail-smtpd-auth-0.30
cp base64.c base64.h README.auth ../qmail-1.03/
patch -d ../qmail-1.03 < auth.patch
⑦. 安装qmail-1.03
cd qmail-1.03
make setup check
./config-fast $HOSTNAME
## 设定Qmail服务器主机名
cd ~alias;
touch .qmail-postmaster .qmail-mailer-daemon .qmail-root
chmod 644 ~alias/.qmail*
echo "127.0.0.1:allow,RELAYCLIENT=""" > /etc/tcp.smtp
sed "s/Mailbox/Maildir//" /var/qmail/boot/home >/var/qmail/rc
chmod 755 /var/qmail/rc
csh -cf "/var/qmail/rc &"
⑧. 安装虚拟域用户pop3支持
groupadd vchkpw
useradd -g vchkpw vpopmail
su vpopmail
mkdir ~vpopmail/etc

推荐阅读