繁体中文
设为首页
加入收藏
当前位置:服务器技术首页 >> 邮件服务 >> Redhat9.0下Qmail完全安装笔记(比较齐全的哦)

Redhat9.0下Qmail完全安装笔记(比较齐全的哦)

2004-11-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:Redhat9.0+Qmail+smtp-auth+Vpopmail+MySQL+Igenus+ezmlm+autorespond+qmailadmin+sqwebmail+antivir-mailgate安装笔记 cloud/2003.10.23 mail:flashc@21cn.com 声明:这个文档不是我原创的,甚至还有抄袭的哦(...

Redhat9.0+Qmail+smtp-auth+Vpopmail+MySQL+Igenus+ezmlm+autorespond+qmailadmin+sqwebmail+antivir-mailgate安装笔记

cloud/2003.10.23

mail:flashc@21cn.com

声明:这个文档不是我原创的,甚至还有抄袭的哦(不要告我亲权哟^~^),只是我在学习qmail时做的一些整理,基本上齐全的收集了安装时常见的一些问题和解决方法。个人水平有限,不能保证其完全可用。(基本上没什么问题,就缺最后测试一次了,因我装了sqwebmail后我的验证坏掉了,一直没法搞定,有时间需要重新安装系统测试,测试后我会重新编辑此笔记的,文中有错误的地方希望大家指出,共同学习,谢谢

首先,如果你的mysql是自己编译安装,并指定了安装目录的话,那么先复制mysql的库文件和include文件到/usr/lib和/usr/include目录下,否者安装后,如果能发信,不能收信,一般也是由于找不到mysql的库文件造成的。apache请使用vpopmail和vchpkw的用户/组运行。主要讲下如何安装mail服务器,其他的apache,php,mysql就不多说了,不懂的朋友请查下我以前的帖子。

# cp /web/mysql/lib/mysql/* /usr/lib/

# cp /web/mysql/include/mysql/* /usr/include/

●安装ucspi-tcp-0.88

1.下载相应软件及补丁,由于redhat9.0的glibc的版本问题,必须打补丁才能正常编译。

2.安装ucspi-tcp-0.88

#tar zxvf ucspi-tcp-0.88.tar.gz

#cd ucspi-tcp-0.88

#patch -p1 < ../ucspi-tcp-0.88.a_record.patch

#patch -p1 < ../ucspi-tcp-0.88.errno.patch

#patch -p1 < ../ucspi-tcp-0.88.nobase.patch

#make

#make setup check

●安装qmail

1.下载软件及补丁:

2.建立目录:

# mkdir /var/qmail

# mkdir /var/qmail/alias

3.建组及用户:

嫌麻烦也可以在qmail源码目录找到一个INSTALL.ids的文件,用sed或者其他什么编辑器提取出适合你系统的命令,保存为一个新文件,source filename就ok了。

# groupadd nofiles

# groupadd qmail

# useradd alias -g nofiles -d /var/qmail/alias -s /nonexistent

# useradd qmaild -g nofiles -d /var/qmail -s /nonexistent

# useradd qmaill -g nofiles -d /var/qmail -s /nonexistent

# useradd qmailp -g nofiles -d /var/qmail -s /nonexistent

# useradd qmailq -g qmail -d /var/qmail -s /nonexistent

# useradd qmailr -g qmail -d /var/qmail -s /nonexistent

# useradd qmails -g qmail -d /var/qmail -s /nonexistent

4.打补丁及编绎安装qmail

#tar zxvf qmail-1.03.tar.gz

#tar zxvf qmail-smtpd-auth-0.31.tar.gz

#cp qmail-smtpd-auth-0.31/base64.* qmail-1.03 //安装smtp-auth补丁,支持smtp认证

#patch -d qmail-1.03 < qmail-smtpd-auth-0.31/auth.patch

#cd qmail-1.03

#patch -p1 < ../qmail-103.patch

#patch -p1

< ../qmailqueue-patch

#patch -p1 < ../qmail-maildir++.patch

#patch -p1 < ../qmail-1.03.errno.patch

#patch -p1 < ../qmail-1.03.qmail_local.patch

#vi qmail-smtpd.c //将函数straynewline中的451改为553

//将451改为553是为避免当其它服务器给你发来无效格式的邮件时,你的服务器陷入循环应答。当你的服务器收到无效格式的邮件时,一般会发送:"I am not going to accept that message at the moment,you can try again later",对方服务器收到后,几秒钟后又会发送同样的邮件给你,造成多次的重复。改为553后,你的服务器将直接发送:"I am not going to accept that message,don't try sending it again.",告诉对方的服务器不要再发这封无效的信件。

# make setup check

# ./config-fast mail.cloud.com

5.添加别名用户:

# touch /var/qmail/alias/.qmail-root

# touch /var/qmail/alias/.qmail-postmaster

# touch /var/qmail/alias/.qmail-mailer-daemon

# chmod 644 /var/qmail/alias/.qmail*

# echo postmaster > /var/qmail/control/bouncefrom \\退回邮件

# echo mail.cloud.com > /var/qmail/control/helohost \\主机名(解决新浪拒收邮件问题)

# echo 10485760 > /var/qmail/control/databytes \\接收邮件的最大容量 (0=无限制)??

# echo 40 > /var/qmail/control/concurrencylocal \\本地同时投递邮件的数目

# echo 40 > /var/qmail/control/concurrencyremote 、、同时投递至远程主机的数目

注意:

/var/qmail/control/locals中必须有缺省域名,否则投递失败的邮件将不知所踪。

6.如果存在postfix和sendmail,停用现在的mail服务

#/etc/rc.d/init.d/sendmail stop

#cp /var/qmail/bin/sendmail /usr/sbin/qmail.sendmail

#rm -f /etc/alternatives/mta

#ln -s /usr/sbin/qmail.sendmail /etc/alternatives/mta

# ln -s /var/qmail/bin/sendmail /usr/lib/sendmail

# ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail

#chmod 777 /usr/sbin/sendmail //这里特别要注意检查/usr/sbin/sendmail的属性.不然会导致装完后用igenus在web界面发信不成功

●安装vpopmail

1.下载vpopmail的稳定版

2.建立目录:

#mkdir /home/vpopmail

#mkdir /home/vpopmail/etc

3.添加用户和组:

#groupadd vchkpw

#useradd -g vchkpw vpopmail

4.添加mysql的vpopmail用户,用于操作vpopmail数据库

#mysql -u root -pwangxu //进入mysql命令行

mysql>create&n

bsp;database vpopmail;

mysql>grant all on vpopmail.* to vpopmail@localhost identified by "密码";

5.编译安装vpopmail

#tar zxvf vpopmail-5.2.1.tar.gz

#cd vpopmail-5.2.1

#vi vmysql.h

#define MYSQL_UPDATE_SERVER "localhost" (mysql服务器名)

#define MYSQL_UPDATE_USER "vpopmail" (用户名)

#define MYSQL_UPDATE_PASSWD "wangxu" (改成你设置的密码)

#define MYSQL_READ_SERVER "localhost" (mysql服务器名)

#define MYSQL_READ_USER "vpopmail" (用户名)

#define MYSQL_READ_PASSWD "wangxu" (改成你设置的密码)

6.创建tcp.smtp文件(或者使用/etc/tcp.smtp)

# vi /home/vpopmail/etc/tcp.smtp

127.0.0.1:allow,RELAYCLIENT=""

:allow

#cd /home/vpopmail/etc

#tcprules tcp.smtp.cdb tcp.smtp.tmp < tcp.smtp

7.进行编译:

# ./configure --prefix=/home/vpopmail \\指定安装路径

--enable-mysql=y \\是否应用Mysql数据库

--enable-incdir=/usr/include/mysql \\Mysql数据库include文件所在目录

--enable-libdir=/usr/lib/mysql \\Mysql数据库lib文件所在目录

--enable-default-domain=mydomain.com \\定义虚拟域名

--enable-passwd=n \\是否使用系统密码验证方式

--enable-defaultquota=10485760 \\定义缺省邮箱大小,10485760为10MB,20971520为20MB,52428800为50MB

--enable-tcprules-prog=/usr/local/bin/tcprules \\指定tcprules目录

--enable-tcpserver-file=/home/vpopmail/etc/tcp.smtp \\指定tcprules应用规则文件

--enable-vpopuser=vpopmail \\vpopmail的用户

--enable-vpopgroup=vchkpw \\vpopmail的组

&

nbsp; --enable-ip-alias-domains=n \\在虚拟域中允许通过反向IP地址查找虚拟域名

--enable-sqwebmail-pass=y \\sqwebmail密码验证支持

--enable-hardquota=10000000 \\限制磁盘限额为10M就需要使用下面这个配置参数,若磁盘限额超出,将拒绝接受该用户的新邮件,并返回一封拒绝信息邮件,其中的信息可以定制

# make

# make install-strip

8.创建虚拟域

# cd /home/vpopmail/bin

# ./vadddomain 域名 (密码) (在mysql数据库vpopmail中自动生成vpopmail表单,生成的密码是postmaster@域名帐户的密码,以后登陆qmailadmin就是使用postmaster登陆的)

# ./vadduser 用户名 密码 (会自动往表vpopmail中添加用户数据,用户添加到默认的域里面。如果要添加到其他的虚拟域,用户名要带域名,如demo@demo.com)

如果不成功的话,则必须先删除创建的域,./vdeldomain 域名 不要使用手工操作mysql删除域和用户帐号,否则会引起系统帐户的紊乱)

●smtp-auth的设置

1.修改vchkpw的属性

#chmod 4755 vchkpw

#chown root.root vchkpw

如果使用带验证的smtp,smtp进程要调用密码验证程序,则必须要使用 setuid 和setgid。提高vchkpw的权限,才能完成setgid操作。

2.下载安装cmd5checkpw

#tar zxvf cmd5checkpw-0.22.tar.gz

#cd cmd5checkpw-0.22

#make

#mkdir /usr/man

#mkdir /usr/man/man8

#make install

注意,因为使用vpopmail,所以checkpassword不用安装。

●生成qmail的启动脚本

#cp /var/qmail/boot/home /var/qmail/rc

# vi /var/qmail/rc //对rc文件进行修改,以决定投送方式:

#!/bin/sh

# Using splogger to send the log through syslog.

# Using dot-forward to support sendmail-style ~/.forward files.

# Using qmail-local to deliver messages to ~/Mailbox by default.

exec env - PATH="/var/qmail/bin:$PATH" qmail-start ./Maildir/ splogger qmail &

#vi /var/qmail/smtp //编辑smtp服务的启动脚本

#!/bin/sh

# -c 100指同时并行连接数为100

QMAILDUID=qmaild

NOFILESGID=nofiles

/usr/local/bin/tcpserver -H -R -c 100 -l 0 -t 1 -v -p -x /home/vpopmail/etc/tcp.smtp.cdb -u $QMAILDUID -g $NOFILESGID 0 smtp /var/qmail/bin/qmail-smtpd mail.cloud.com /home/vpopmail/bin/vchkpw /bin/true /bin/cmd5checkpw /bin/true 2>&1 | /var/qmail/bin/splogger smtpd 3 &

&nb

sp;

#vi /var/qmail/pop3 //编辑pop3服务的启动脚本

#!/bin/sh

/usr/local/bin/tcpserver -l mail.cloud.com -U -c 100 -H -R 0 pop3 /var/qmail/bin/qmail-popup mail.cloud.com /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir &

//这里要注意,这三个文件中的命令在一行,最好直接复制,绝对可用,我自己的启动脚本copy过来的。

#chmod 755 /var/qmail/rc

#chmod 755 /var/qmail/smtp

#chmod 755 /var/qmail/pop3

运行qmail并测试

#/var/qmail/rc

#/var/qmail/smtp

#/var/qmail/pop3

#ps aux | grep "qmail" //查看qmail的服务进程是否已完全正常启动

如果qmail已正常启动,用outlook测试qmail的smtp和pop3是否正常,注意由于vpopmail支持虚拟域名,所以在outlook中设置邮件帐号时,用户名后要加上域名,如demo@demo.com。smtp是带认证的,在outlook中也要作相应设置。建议先将qmail测试正常后再安装igenus。如果qmail出现问题,可查看mysql中的vpopmail数据库,/var/log下的mysqld和maillog日志记录,这样容易很快找出问题。

需要注意的是:

如果你在X下用X的kmail客户端测试,smtp的验证要选择LOGIN,POP的验证选择纯文本(APOP是错的,虽然有时候mail客户端会自动检测条到APOP上面),如果有好几个验证方式给你选择的话。

如果能发信,但收不到,这个时候看一下/var/log/maillog会找到答案的,一般是由于找不到libmysqlclient.so.12这个mysql库文件造成的,前面我之所以要copy到/usr/lib下就是因为这个问题经常卡我(因我都是编译安装程序的,所以程序的位置都指定了的)

●安装并运行igenus

1.到http://www.igenus.org下载最新的安装包

#tar zxvf igenus_2_20030516_snap.tgz -C /www/htdocs/

2.建temp文件夹

cd /www/htdocs/igenus

mkdir temp

chmod -R 0755 temp

chown -R vpopmail:vchkpw temp

3.修改httpd.conf

#vi /web/httpd/conf/httpd.conf

Group Apache

User Apache

修改为:

Group vchkpw

User vpopmail

AddDefaultCharset ISO-8859-1

修改为

AddDefaultCharset GB2312 //使默认页面为中文,2.x的apache需要修改

#/etc/rc.d/init.d/httpd restart //重启apache,使修改生效

4.修改config_inc.php文件

# cd /www/htdocs/igenus/config

# vi config_inc.php

$CFG_BASEPATH = "/www/htdocs/html/igenus";

$CFG_MYSQL_HOST = 'localhost';

$CFG_MYSQL_USER = 'vpopmail';

$CFG_MYSQL_PASS = '12345678'; \\改成你的密码

$CFG_MYSQL_DB = 'vpopmail';

$CFG_TEMP = $CFG_BASEPATh."/temp";

5.重新编制Mysql数据库表格

#mysql -u root -p

mysql>use vpopmail;

mysql>alter ta

ble vpopmail drop primary key;

mysql>alter table vpopmail add column pw_id int(5) NOT NULL primary key auto_increment;

mysql>create table address (

id int(11) unsigned NOT NULL auto_increment,

pw_id int(5) unsigned NOT NULL default '0',

name varchar(64) NOT NULL default '',

email varchar(128) NOT NULL default '',

UNIQUE KEY id (id),

KEY pw_id (pw_id)

) TYPE=MyISAM;

mysql>CREATE TABLE stow (

id int(11) unsigned NOT NULL auto_increment,

pw_id int(5) NOT NULL default '0',

name varchar(64) NOT NULL default '',

http varchar(128) NOT NULL default '',

memo varchar(255) NOT NULL default '',

PRIMARY KEY (id)

) TYPE=MyISAM PACK_KEYS=1; //收藏夹的表

mysql>quit;

●编辑qmail自启动脚本

#vi /etc/rc.d/init.d/qmail //编辑自动运行脚本

#! /bin/sh

# chkconfig: 2345 90 90

# description: qmail (include smtp and pop3) auto start/stop scripts.

. /etc/rc.d/init.d/functions

case "$1" in

start)

echo -n "start qmail:"

/var/qmail/rc &

echo "."

echo -n "start smtp service:"

/var/qmail/smtp

echo "."

echo -n "start pop3 service:"

/var/qmail/pop3

echo "."

;;

stop)

echo "stop qmail:"

killproc qmail-send

killproc qmail-clean

killproc qmail-rspawn

killproc qmail-lspawn

killproc splogger

killproc tcpserver

;;

*)

exit 1

;;

esac

exit 0

#chmod 755 /etc/rc.d/init.d/qmail

#chkconfig --add qmail

OK,行了,现在只要你启动系统就会自动运行了。

●igenus在安装和使用过程中出现错误的解决方法。

1.登录时出现的错误。

编辑/usr/loal/lib/php.ini,修改:

register_globals = On

2.发邮件时出现528错误,其实这是php在编译过程中找不到/usr/sbin/sendmail文件造成的,qmail使用/var/qmail/bin/sendmail发信。解决如下:

a.添加链接

# ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail

b.停止apache运行

c.重新编译php即可

●安装ezmlm and ezmlm-idx使qmail支持邮件列表功能

1.注意:为了启用maillist的MySQL支持,你必须首先:

建立mysql管理用户:(Ex:user:ezmlm,pass:ezmlm)

# mysql -u root -pwangxu

>use mysql;

>create database ezmlm;

>grant all on ezmlm.* to ezmlm@localhost identified by "ezmlmpassword";

>flush privileges;

>exit;

# mysqladmin -u root -pwangxu create ezmlm

2.ezmlm-idx包含有对ezmlm的修正和补充,他们是一个整体。

#cd /home/software

# tar -zxvf ezmlm-0.53.tar.gz

# tar -zxvf ezmlm-idx-0.40.tar.gz

# mv -Rf ezmlm-idx-0.40/* ezmlm-0.53/ //将ezmlm-idx-0.40下的文件覆盖到ezmlm-0.53下

# cd ezmlm-0.53

# patch < idx.patch

# patch < ../ezmlm-idx-0.53.400.unified_41.patch

# make mysql #MySQL 支持

# make clean

# make man

# make ch_GB #汉字GB2312支持

修改conf-sqlcc文件

内容为:-I/usr/include/mysql

修改conf-sqlld

内容为: -L/usr/lib/mysql -lmysqlclient -lnsl -lm -lz

-lz是增加zip压缩支持

修改conf-bin

第一行:/var/qmail/bin/ezmlm

修改conf-man

第一行:/var/qmail/man

修改conf-qmail

第一行:/var/qmail

# make setup

修改/usr/local/qmail/bin/ezmlm/ezmlmrc将"To:##L@##H"修改为"To:<#L#>@<#H#>",主要是修改用邮件客户端收到信之后,收件人地址显示格式错误。

邮件列表收到的信息乱码解决方法:

在/home/vpopmail/domains/cloud.com/maillistname/下建立一个charset的文件

#touch charset

#chown vpopmail:vchkpw charset

#chmod go-r charset

#vi charset 添加一行gb2312

这样你发一份邮件到maillistname@xxx.xxx 你收到的信息将可以正确的显示中文了!

3.在你建立一个基于MySQL的maillist之前,你必须保证ezmlm库中已存在一个对应的表(其实我发现没有表,ezmlm会自动建立,只是会提示错误):

Ex:你想建一个基于MySQL的maillist:testlist

# /var/qmail/bin/e

zmlm/ezmlm-mktab -d testlist | mysql -uezmlm -pezmlm -f ezmlm

这样就在ezmlm库中为testlist建立了一系列相关表格:

+------------------------+

| Tables |

+------------------------+

| testlist |

| testlist_allow |

| testlist_allow_slog |

| testlist_cookie |

| testlist_deny |

| testlist_deny_slog |

| testlist_digest |

| testlist_digest_cookie |

| testlist_digest_mlog |

| testlist_digest_slog |

| testlist_mlog |

| testlist_mod |

| testlist_mod_slog |

| testlist_slog |

+------------------------+

你可以用一下命令察看! (也不需要这样麻烦的,安装了qmailadmin后可以使用qmailadmin管理邮件列表了)

# mysqlshow -uezmlm -pezmlm ezmlm

●安装autorespond (自动回信机器人)

# tar zxvf autorespond-2.0.2.tar.gz

# cd autorespond-2.0.2

修改Makefile文件

将其中的INSTALL_DIR =修改为 /var/qmail/bin

# make

# make install

# cp autorespond /usr/local/bin

●安装qmailadmin

在安装之前先确认:

你是否已经安装了vpopmail,并使用vchkpw 。

是否已经安装ezmlm。

是否已经安装autorespond。

确认以上的工作已完成,可以开始安装qmailadmin。

# cd /home/software

# tar zxvf qmailadmin-1.0.6.tar.gz

# cp en-us qmailadmin-1.0.6/html/en

# cp en-us qmailadmin-1.0.6/html/en-us

(注:以上两步,是为了汉化qmailadmin。en-us取自iceblood的qmail安装包)

# cd qmailadmin-1.0.6

# cd qmailadmin-1.0.6

#./configure --enable-cgibindir=/www/cgi-bin --enable-htmldir=/www/htdocs/igenus --enable-ezmlmdir=/var/qmail/bin/ezmlm (确保你的ezmlm程序文件在此目录下)

# make

# make install-strip

# mkdir -p /www/htdocs/images/qmailadmin

# mv images/*.* /www/htdocs/images/qmailadmin/ //复制images下的图片到/www/htdocs/images/qmailadmin下

●安装sqwebmail

1、 安装sqwebmail

#cd /down

#tar zxvf sqwebmail-3.5.0-cn.tar.gz

#cd sqwebmail-3.5.0

#./configure --with-db=db(如果你没有安装GDBM库,那么请加上这个,默认系统如果找到了GDBM库会使用GDBM库的)

--enable-webpass=yes

--without-authpam

--without-authpwd

--without-authshadow

--without-authldap

--without-authuserdb

--without-authpwd

--with-authvchkpw

--with-authdaemon \\激活web页面修改密码功能模块

--enable-cgibindir=/www/cgi-bin/sqwebmail

--enable-imagedir=/www/htdocs/sqwebmail

--disable-utf7-folder-encoding \\ 去掉IMAP文件夹编码支持

--with-cachedir=/tmp/sqwebmail \\缓存目录

--with-cacheowner=bin \\缓存目录所有者 (default: bin)

--enable-mimetypes=/www/htdocs/

--enalbe-mimecharset=gb2312

--enable-unicode=gb2312

#make configure-check

#make

#make install-strip

#make install-configure

#/usr/local/share/sqwebmail/libexec/authlib/authdaemond start

注意,以后必须启动这个进程进行身份验证,我发现安装sqwebmail后,这个进程不启动那么我的邮件系统就没法登陆,总是说密码验证错误,qmailadmin倒可以登陆。

su -c "/usr/local/share/sqwebmail/cleancache.pl" bin

现在,重起你主机系统,你可以设置一下你的outlook或者foxmail.接受邮件了。也可以通过webmail访问你的mail系统了。

http://localhost

http://localhost/cgi-bin/sqwebmail/sqwebmail

通过webmail接受你的邮件信息,sqwebmail我只是装上测试一下,看看效果,不过它对中文支持比较差,也没有比较好的中文版本,所以我觉得还是用igenus比较好。

http://localhost/cgi-bin/qmailadmin 通过web方式管理和添加用户了

补充:在/home/vpopmail/domains/xxx.com下面建立一个.qmailadmin-limits文件(这个文件本身没有在里面写

maxpopaccounts 100

default_quota 10485760

这样用qmailadmin添加账号的最大数目就是100,每个邮箱的配额就是10485760,10M。。

变量: 数值型.

maxaliases,maxforwards,maxautoresponder,maxmailinglists

变量:bool型

disable_pop,disable_imap,disable_dialup,disable_password_changing,disable_webmail,disable_external_relay

以上的变量只要在文件中存在就起作用,不用设值。

●Qmail下的免费防病毒网关antivir-mailgate简易安装

现在病毒猖狂啊,做网管的,网络出了乱子,麻烦就大了,病毒一扩散就比较麻烦了,以下介绍一个适合于unix/linux下的病毒邮件网关。

1.先去该公司网址注册一下,获得一个一年期限的license

www.antivir.de/order/privr

eg/linux.htm

2.开始安装

# tar zxf avlxmgt.tgz

# cd antivir-mailgate-2.0.1.16

# ./avinstall.pl

这里程序会询问你的一些安装路径这类问题,很easy的,一路回车吧!

默认情况下,antivir-mailgate是通过监听25端口,收到mail后杀毒处理在通过unix管道调用传递给qmail的。因此,首先需要建立以下链接,因为安装qmail的时候已经做过了。所以这里就可以省略了。

ln -s /var/qmail/bin/sendmail /usr/lib/sendmail

ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail

修改工作目录的权限和所有者,注意必须是0700的权限模式,否则无法启动,会报错误的

# chown uucp.uucp /var/spool/avmailgate -R

# chmod 0700 /var/spool/avmailgate -R

编辑配置文件,以下是几个有用的配置选项,其他的就不多说了,配置文件里面都有说明的,很easy的,如果你想测试一下,看杀毒后的输出,可以修改里面的选项,追加附加的头部到mail里面去。另外,安装脚本会在rc.d目录下建立相应的启动连接,请确保你的qmail的启动脚本在病毒网关之后启动。INSTALL.qmail文件中提到了3种工作模式,默认的是通过监听25端口,收到邮件后进行杀毒处理后在直接通过unix管道传递给qmail进程处理,还有一种模式是让qmail监听825端口,病毒网关收到邮件后直接转发给825端口上的进程,这种模式下效率可能没有默认的工作模式的效率好,这两种模式下都有个弊病,就是25端口上的病毒网关进程没有验证功能了,INSTALL.qmail文件还有一个方法就是使用两个qmail进程和一个病毒网关协同工作,一个做前台监听25端口,这样就可以验证了,这个前台进程收到邮件后在转发到病毒网关进程,病毒网关进行杀毒处理后在转发到后台的qmail进程上,这个进程在进行本地投送处理,文件里描述的比较详细了,我就不多说了,有兴趣的朋友可以照着做。

# vi /etc/avmailgate.conf

User uucp (默认以uucp用户和uucp组工作,请保证你的系统是否存在这两个帐号)

Group uucp

SpoolDir /var/spool/avmailgate (工作目录)

ForwardTo /usr/lib/sendmail -oem -oi(默认的工作模式)

# vi /etc/avmailgate.acl #这个文件控制允许接收mail的域,一般不需要修改

# /usr/sbin/rcavgate start (启动mail防毒网关)

检查启动输出

# cat /var/log/maillog

# vi /etc/crontab

#每天的0:25分自动更新病毒库

25 0 * * * /usr/lib/AntiVir/antivir –update -q

noress 回复于:2003-10-23 22:12:25

很不错,支持一下!我donw了,

楼主能不能给我发一份sqwebmail的软件包,我上不了国外的站点(用代理也不行).

noress 回复于:2003-10-23 22:13:01

我的Email: noress@126.com

谢谢!

cloudxx 回复于:2003-10-23 23:26:44

www.linuxts.com他做过一个汉化的,还有wmail也可以,不过vsqwebmail的原版对中文支持布好,还是用igenus号了

wjger 回复于:2003-10-24 12:05:15

我在安装到# ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail 时,它提示“文件已经存在” 对以后的安装和运行,要不要紧哪?

snowseya 回复于:2003-10-24 12:56:20

我在RH8下一直没有编译成功过

用igenus收发都没有问题,说明前边的东东做的没错,就是sqwebmail做不出来,请您指点一二.

peng 回复于:2003-10-24 13:58:34

[quote:055715190f="wjger"]我在安装到# ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail 时,它提示“文件已经存在” 对以后的安装和运行,要不要紧哪?[/quote:055715190f]

应该没有关系,默认的系统中/usr/sbin/sendmail是系统调用sendmail的。

这一步的作用是用qmail中的sendmail模块替换系统中调用的sendmail命令。

无论他有没有这个文件,只要你ln成功就行。

peng 回复于:2003-10-24 14:00:56

[quote:7d95993eee="s

nowseya"]我在RH8下一直没有编译成功过

用igenus收发都没有问题,说明前边的东东做的没错,就是sqwebmail做不出来,请您指点一二.[/quote:7d95993eee]

不知道你报的是什么错误。

sqwebmail有一个非常讨厌的bug,就是他的有些版本和vpopmail兼容不好,认证有错误。你要多用几个sqwebmail and vpopmail尝试一下。

cloudxx 回复于:2003-10-24 14:33:53

我的就是,安装sqwebmail后只能从sqwebmail收发邮件了,其他的一切不行了,把之前编译的vpopmail重新install后,还是不行,好象接着sqwebmail也罢工了,头大,这两天忙着玩盟军,懒的测试了

数码熊 回复于:2003-10-24 14:37:41

不错,顶一下。

如果把防垃圾邮件的详细方法都加上去就更加好了

peng 回复于:2003-10-24 14:44:59

防止垃圾邮件,可以用很多软件完成,常用的和sqwebmail+qmail结合的是maildrop(好象是这样拼写,好久没有看mail了)。

方法好象以前gadfly写过,我替他发的文章。看看精华吧。

有时间我在看看。。

千禧龙哥 回复于:2003-10-24 19:02:00

请教:

#cp /var/qmail/bin/sendmail /usr/sbin/qmail.sendmail

#rm -f /etc/alternatives/mta

#ln -s /usr/sbin/qmail.sendmail /etc/alternatives/mta

cp /var/qmail/bin/sendmail /usr/sbin/qmail.sendmail

cp: stat‘/var/qmail/bin/sendmail’失败: 没有那个文件或目录

ln -s /usr/sbin/qmail.sendmail /etc/alternative/mta

ln: 正在创建连至‘/usr/sbin/qmail.sendmail’的符号链接‘/etc/alternative/mta’: 没有那个文件或目录

在/var/qmail/bin/下面没有sendmail呀

这段话是不是有点问题呢?

千禧龙哥 回复于:2003-10-24 19:06:07

求救!!!我在安照大侠的步骤,执行到这一步的时候怎么出现这个错误是什么原因?我是用REDHAT9+HTTPD2.0.47+PHP4.33RC1

./configure --prefix=/home/vpopmail --enable-mysql=y --enable-incdir=/usr/include/mysql --enable-libdir=/usr/lib/mysql --enable-default-domain=s-ec.com --enable-passwd=n --enable-defaultquota=n --enable-tcprules-prog=/usr/local/bin/tcprules --enable-tcpserver-file=/home/vpopmail/etc/tcp.smtp --enable-vpopuser=vpopmail --enable-vpopgroup=vchkpw --enable-ip-alias-domains=n

creating cache ./config.cache

checking for a BSD compatible install... /usr/bin/install -c

checking whether build environment is sane... yes

checking whether make sets ${MAKE}... yes

checking for working aclocal... found

checking for working autoconf... found

checking for working automake... found

checking for working autoheader... found

checking for working makeinfo... found

checking host system type... i686-unknown-linux

checking for gcc... gcc

checking whether the C compiler (gcc ) works... yes

checking whether the C compiler (gcc ) is a cross-compiler... no

checking whether we are using GNU C... yes

checking whether gcc accepts -g..

责任编辑:admin
相关文章