随着互联网的飞速发展,电子邮件已经成为人们生活中必不可少的通信工具。架设邮件系统相对来说比较的麻烦些,在网上有很多的相关资料可以查阅。真的很感谢这么多热于奉献的网友,使这个网络更加的强大。一直以来都想架设自己的MAIL服务器,由于时间和条件的关系未曾如愿,等到有空了一心放 到这上面的时候,又遇到了各种各样的问题,在我永不放弃信念下,我架设的邮件服务器终于告成。当然了,功能还有太多不完善的地方,我会在以后的时间加以弥补,使其更加的强大。此次尝试感触颇多,学习是一个永无止境的过程,
永远不要停滞在一个地方顽固不前,遇到问题一定要解决它,在遇到问题和解决问题的过程中找到人生乐趣。以下我把自己的安装过程写出来,不求给广大网友指点迷津,只求自己能够三省吾身。相信自己,一天成长一点,一天积累一点。
安装ucspi-tcp用来简单的建立客户机-服务器tcp后台程序
[root@mail mail]# tar zxvf ucspi-tcp0.88.tar.gz
[root@mail mail]# cd ucspi-tcp-0.88
[root@mail mail]# make
[root@mail ucspi-tcp-0.88]# make setup check
./install
./instcheck
安装daemontools
――――――是inetd和winetd的代替品,用它来监听qmail-send,qmail-smtpd,qmail-pop3d
[root@mail ucspi-tcp-0.88]# mkdir -p /package
[root@mail ucspi-tcp-0.88]# chmod 1755 /package/
[root@mail ucspi-tcp-0.88]# cd /package/
[root@mail package]# tar zxvf daemontools-0.76.tar.gz
[root@mail package]# cd admin/daemontools-0.76/
[root@mail daemontools-0.76]# patch -p1
patching file src/error.h
[root@mail daemontools-0.76]# package/install
Adding svscanboot to inittab...
init should start svscan now.
测试如下:
[root@mail httpd-2.0.50]# sleep 5
[root@mail httpd-2.0.50]# ps ax|grep svscan
31570 ? S 0:00 /bin/sh /command/svscanboot
31572 ? S 0:00 svscan /service
31580 pts/1 S 0:00 grep svscan
安装qmail―――本文的主角,世界上使用最广的邮件系统之一
[root@mail mail]# tar zxvf qmail-1.03.tar.gz
[root@mail mail]# cd qmail-1.03
[root@mail qmail-1.03]# patch -p1<../qmail-1.03.errno.patch
patching file cdb_seek.c
patching file dns.c
patching file error.3
patching file error.h
[root@mail qmail-1.03]# mkdir /var/qmail
[root@mail qmail-1.03]# groupadd nofiles
[root@mail qmail-1.03]# useradd -g nofiles -d /var/qmail/alias alias
[root@mail qmail-1.03]# useradd -g nofiles -d /var/qmail qmaild
[root@mail qmail-1.03]# useradd -g nofiles -d /var/qmail qmaill
[root@mail qmail-1.03]# useradd -g nofiles -d /var/qmail qmailp
[root@mail qmail-1.03]# groupadd qmail
[root@mail qmail-1.03]# useradd -g qmail -d /var/qmail qmailq
[root@mail qmail-1.03]# useradd -g qmail -d /var/qmail qmailr
[root@mail qmail-1.03]# useradd -g qmail -d /var/qmail qmails
[root@mail qmail-1.03]# make
[root@mail qmail-1.03]# make setup check
[root@mail qmail-1.03]# ./config-fast mail.china-yr.com
Your fully qualified host name is mail.china-yr.com.
Putting mail.china-yr.com into control/me...
Putting china-yr.com into control/defaultdomain...
Putting china-yr.com into control/plusdomain...
Putting mail.china-yr.com into control/locals...
Putting mail.china-yr.com into control/rcpthosts...
Now qmail will refuse to accept SMTP messages except to mail.china-yr.com.
Make sure to change rcpthosts if you add hosts to locals or virtualdomains!
[root@mail qmail-1.03]# cd ~alias;touch .qmail-postmaster .qmail-mailer-daemon .qmail-root
[root@mail alias]# chmod 644 ~alias/.qmail*
在linux/WebMail/qmailctl.txt“>ftp://ftp.pipeline.com.au/pipeint/sources/linux/WebMail/qmailctl.txt
下载qmailctl.txt 并且上传到指定目录
[root@mail mail]# cp qmailctl.txt /etc/init.d/qmail
[root@mail mail]# mkdir -p /var/qmail/supervise/qmail-send/log
[root@mail mail]# mkdir -p /var/qmail/supervise/qmail-smtpd/log
[root@mail mail]# mkdir -p /var/qmail/supervise/qmail-pop3d/log
[root@mail mail]# vi /var/qmail/supervise/qmail-send/run
#!/bin/sh
exec env - PATH=“/var/qmail/bin:$PATH“ qmail-start ./Maildir/
[root@mail mail]# vi /var/qmail/supervise/qmail-send/log/run
#!/bin/sh
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t
s10000000 n30 /var/log/qmail/send
[root@mail mail]# vi /var/qmail/supervise/qmail-smtpd/run
#!/bin/sh
QMAILDUID=`id -u qmaild`
NOFILESGID=`id -g qmaild`
exec /usr/local/bin/softlimit -m 2000000
/usr/local/bin/tcpserver
-H -l hostname.yourdomain.com
-v -x /etc/tcp.smtp.cdb
-c 20 -R -u “$QMAILDUID“ -g “$NOFILESGID“ 0 smtp
/var/qmail/bin/qmail-smtpd hostname.yourdomain.com
/var/lib/vpopmail/bin/vchkpw /bin/true 2>&1
[root@mail mail]# vi /var/qmail/supervise/qmail-smtpd/log/run
#!/bin/sh
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t s10000000
n30 /var/log/qmail/smtpd
[root@mail mail]# vi /var/qmail/supervise/qmail-pop3d/run
/usr/local/bin/tcpserver
-H -l example.com
-v -x /etc/tcp.pop3.cdb -c 30 -R 0 pop3
/var/qmail/bin/qmail-popup example.com
/var/lib/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir 2>&1
[root@mail mail]# vi /var/qmail/supervise/qmail-pop3d/log/run
#!/bin/sh
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t s10000000
n30 /var/log/qmail/pop3d
[root@mail mail]# chmod 755 /var/qmail/supervise/qmail-send/run
[root@mail mail]# chmod 755 /var/qmail/supervise/qmail-send/log/run
[root@mail mail]# chmod 755 /var/qmail/supervise/qmail-smtpd/run
[root@mail