若要拒绝某些IP所发出的Relay则修改 /etc/tcp.smtp如下
1.2.3.4:allow,RELAYCLIENT="" 127.:allow, RELAYCLIENT=""
如此,除1.2.3.4及127.*之外的所有地址,都将被拒绝转送信件。
2)转换tcp.smtp成为cdb格式
#/usr/local/bin/tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
注意:若对tcp.smtp有任何变更,都必須经过tcprules转换成为cdb文件才会生效。
另外,tcp.smtp 若为空白,则表示拒绝所有的转送,因为预设的规则为deny。
至此,转送规则已建立,稍后将依此规则启动qmail-smtpd。
3)设定SMTP及POP3 daemon的启动
移除inetd.conf中有关smtp及pop3的设定(加上#号)
编辑/etc/services,改为以下设定:
smtp25/tcpmail # pop-3 110/tcp #pop version 3 # pop-3 110/udp pop3110/tcp pop3110/udp 启动 SMTP:
/usr/local/bin/tcpserver -v -x /etc/tcp.smtp.cdb \ -u UID -g GID 0 smtp /var/qmail/bin/qmail-smtpd 2>&1 \ | /var/qmail/bin/splogger smtpd 3 &
其中UID和GID为前述新增 qmail系统账号qmaild的User ID,以及nofiles的group ID。 /var/qmail/bin/splogger那一行会将log文件写在/var/log/maillog中。 启动 POP3:
编辑启动档加入以下设定:
tcpserver -H -R 0 pop3 \ /var/qmail/bin/qmail-popup mail.mydomain.com \ /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir &
在/etc/rc.d/init.d下建立文件qmail,内容如下: ------------------------------------------- #! /bin/sh
case "$1" in start) echo -n "start qmail:"
/var/qmail/rc & echo "."
echo -n "start smtp service:" /usr/local/bin/tcpserver -v -x /etc/tcp.smtp.cdb \ -u UID -g GID 0 smtp /var/qmail/bin/qmail-smtpd 2>&1 \ | /var/qmail/bin/splogger smtpd 3 & echo "."
echo -n "start pop3 service:" tcpserver -H -R 0 pop3 \ /var/qmail/bin/qmail-popup mail.mydomain.com \ /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir & echo "." ;; stop) echo -n "stop qmail:" echo "." ;; *) exit 1 ;; esac
exit 0
----------------------------------------------------- #cd ../rc3.d #ln -s ../init.d/qmail S98qmail
(注:这里的启动文件没有写全)
8. qmailadmin--WEB方式管理qmail
1)ezmlm的安装
$make $make man #make setup
2)autorespond的安装
gcc -Wall -o autorespond autorespond.c cp autorespond /usr/local/bin/autorespond
3)qmailAdmin的安装
在安装前首先要考虑满足以下几项要求:
a.是否拥有一个vpopmail用户vchkpw b.cgi-bin目录的所在位置 c.ezmlm目录的所在位置 d.autorespond目录的所在位置
如果能够达到以上要求,可以继续安装
#./configure #make #make install-strip
检测安装是否正确:浏览器中打开路径http://mail.mydomain.com/cgi-bin/qmailadmin, 看根据前面设置的用户和密码是否能够成功登录进去。
9. SqWebmail--一种Webmail解决方案
1)安装SqWebmail
#tar xvfz sqwebmail-1.2.0.tar.gz #cd sqwebmail-1.2.0 #./configure --without-authpam --without-authuserdb --enable-webpass=no / --without-authpwd --without-authshadow #make configure-check #make (当我make的时候报错找不到db.h,cp /usr/include/db1/db.h /usr/include/db.h) #make check #make install-strip #make install-configure
检测安装是否正确:浏览器中打开路径http://mail.mydomain.com/cgi-bin/sqwebmail
2)安装vqsignup
#tar xvfz vqsignup-0.4.tar.gz #cd vqsignup-4.0
按照INSTALL安装(?)
安装这个软件包可能比较麻烦,需要一些耐心。 a. 修改Makefile文件:
FLAGS=-I/home/vpopmail/include 修改-I/home/vpopmail/include指到真实的vpopmail/include目录
修改下面的这行
$(CC) $(FLAGS) -o $(BIN) $(OBJS) -L/home/vpopmail/lib -lvpopmail -lcrypt
修改 -L/home/vpopmail/lib 为真实的vpopmail lib的目录
b. 编译
#make
c. 安装
拷贝signup.cgi和signup.conf文件到cgi-bin目录下
切换目录到cgi-bin目录下
#chown vpopmail signup.cgi #chgrp vchkpw signup.cgi #chmod ug+s signup.cgi #chmod ugo+r signup.conf
拷贝vqsignup_html目录到cgi-bin目录下,确信对所有用户可读 拷贝vqsignup.html文件到DocumentRoot目录下,确信能够被访问。
编辑cgi-bin目录下的vqsignup.conf文件 修改"add_domain"的所有行,加上你的真实的域,把其他的行删除掉 更改vqsignup_text/*.html文件,使包含"result_*"的行的路径指到正确的全路经。 修改vqsignup_text目录下所有的文件,使它们只包含你想支持的域,你也可以定制这些页面,使它们更加好看些。 修改DocumentRoot目录下vqsignup.html文件,使它只包含你想支持的域,你也可以定制这个页面,使它更加好看些。
d. 测试
用你的浏览器访问http://your web server/your sub dir/vqsignup.htm, 试着注册新用户,如果成功的话,那么就恭喜你了。如果有错误,请返回安装步骤仔细查看文件的权限和vqsignup.html里的值是否正确。 (出处:LinuxAid) |