Qmail搭建全攻略Wikipedia,自由的百科全书
[编辑]
简介Qmail搭建文档可以基于Redhat AS3 & Qmail实现以下功能:
以上配置能够满足中小型企业的日常需求。 功能列表:
[编辑]
安装准备1)推荐在Red Hat Enterprise Linux Advanced Server 3.X或Red Hat Linux 9.0中部署本邮件系统。在AS4中测试时,发现反垃圾部分由于缺少一个RPM包(在AS4安装光盘中无法找到),因而反垃圾功能未能实现。另外,在开始部署本邮件系统之前请务必确认您的系统中已经部署完成Apache+PHP+MySQL,否则Webmail和Web管理无法安装! 要确认下面的软件是否已经安装: rpm -q gdbm rpm -q gdbm-devel rpm -q openssl rpm -q openssl-devel rpm -q stunnel rpm -q krb5-devel 如果你还没有安装, 请先安装它们. 你可以到安装光盘或是在这里找到它们的RPM包 http://www. 如果设置了防火墙,要打开服务器的www 80、smtp 25和pop3 110三个端口。 2)卸载已有的邮件系统,确认没有SMTP/POP/IMAP服务在运行: /etc/init.d/sendmail stop netstat -na | grep 25 netstat -na | grep 110 netstat -na | grep 143 ntsysv 3)删除已有的SMTP/POP/IMAP软件: rpm -e --nodeps sendmail rpm -e --nodeps postfix 4)下载软件 我把下文中所提到的软件打成了一个包,下载地址为:http://nanu./qmail.tar.gz,我一般把软件放在/usr/local/qmail_src下面,根据个人习惯吧。 cd /usr/local/qmail_src tar xzvf qmail.tar.gz cd Qmail tar xzvf netqmail-1.05.tar.gz cd netqmail-1.05 ./collate.sh 注意:./collate.sh这一步不要忘 [编辑]
安装软件1)daemontools daemontools是一个收集管理UNIX进程的工具.用它来监听qmail-send,qmail-smtpd,qmail-pop3d. 安装: cd /usr/local/qmail_src/Qmail tar -zxvf daemontools-0.76.tar.gz cd admin/daemontools-0.76 patch -p1 < /usr/local/qmail_src/Qmail/netqmail-1.05/ 验证daemontools已经正常运行: sleep 5 ps ax | grep svscan 2)ucspi-tcp ucspi-tcp包括tcpserver和tcpclient,一个命令行工具来建立client-server应用程序. 安装: cd /usr/local/qmail_src/Qmail 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 3)qmail 这个toaster补丁,是下面这几个补丁的组合: smtp auth 0.4.2 qmail-queue (to allow for virus scanners) maildir++ patch support oversize dns packets (not necessary if you use dnscache) mfcheck (check that the envelope sender has a dns entry) tarpit delay qregex (regular expression matching in badmailfrom and badmailto) big concurrency (set the spawn limit above 255) 安装: 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 qmail -d /var/qmail qmailq useradd -g qmail -d /var/qmail qmailr useradd -g qmail -d /var/qmail qmails 在这里把vpopmail用户也加上 groupadd -g 89 vchkpw useradd -u 89 -g vchkpw vpopmail cd /usr/local/qmail_src/Qmail tar -xzf toaster-scripts-0.6.tar.gz cd netqmail-1.05/ bunzip2 -c ../qmail-toaster-0.6-1.patch.bz2 | patch -p0 cd netqmail-1.05 注:在RedHat上,需要为TLS补丁链接一个include文件: ln -s /usr/kerberos/include/com_err.h /usr/kerberos/include/ 当你的服务器收到无效格式的邮件时,会发送:"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.",告诉对方的服务器不要再发这封无效的信件。 4)make make setup check 用你自己的主机名代替下面的mail. ./config-fast mail. cd /var/qmail/alias touch .qmail-postmaster .qmail-mailer-daemon .qmail-root chmod 644 /var/qmail/alias/.qmail* cd - echo 1 > /var/qmail/control/mfcheck echo ./Maildir/ >/var/qmail/control/defaultdelivery make cert 按提示输入公司信息 make tmprsadh 注:这里可能要多等一会 用"crontab -e"在crontab里增加下面这条,每天晚上更新temp keys crontab -u root -e 01 01 * * * /var/qmail/bin/update_tmprsadh > /dev/null 2>&1 5)为qmail服务建立监控目录和日志文件: mkdir -p /var/qmail/supervise/qmail-send/log mkdir -p /var/qmail/supervise/qmail-smtpd/log mkdir -p /var/qmail/supervise/qmail-pop3d/log mkdir -p /var/qmail/supervise/qmail-pop3ds/log chmod +t /var/qmail/supervise/qmail-send chmod +t /var/qmail/supervise/qmail-smtpd chmod +t /var/qmail/supervise/qmail-pop3d/log chmod +t /var/qmail/supervise/qmail-pop3ds/log cp /usr/local/qmail_src/Qmail/toaster-scripts-0.6/send.run /var/qmail/supervise/qmail-send/run cp /usr/local/qmail_src/Qmail/toaster-scripts-0.6/send.log.run /var/qmail/supervise/qmail-send/log/run cp /usr/local/qmail_src/Qmail/toaster-scripts-0.6/smtpd.run /var/qmail/supervise/qmail-smtpd/run cp /usr/local/qmail_src/Qmail/toaster-scripts-0.6/smtpd.log.run /var/qmail/supervise/qmail-smtpd/log/run cp /usr/local/qmail_src/Qmail/toaster-scripts-0.6/pop3d.run /var/qmail/supervise/qmail-pop3d/run cp /usr/local/qmail_src/Qmail/toaster-scripts-0.6/pop3d.log.run /var/qmail/supervise/qmail-pop3d/log/run cp /usr/local/qmail_src/Qmail/toaster-scripts-0.6/pop3ds.run /var/qmail/supervise/qmail-pop3ds/run cp /usr/local/qmail_src/Qmail/toaster-scripts-0.6/pop3ds.log.run /var/qmail/supervise/qmail-pop3ds/log/run echo 20 > /var/qmail/control/concurrencyincoming chmod 644 /var/qmail/control/concurrencyincoming chmod 755 /var/qmail/supervise/qmail-send/run chmod 755 /var/qmail/supervise/qmail-send/log/run chmod 755 /var/qmail/supervise/qmail-smtpd/run chmod 755 /var/qmail/supervise/qmail-smtpd/log/run chmod 755 /var/qmail/supervise/qmail-pop3d/run chmod 755 /var/qmail/supervise/qmail-pop3d/log/run chmod 755 /var/qmail/supervise/qmail-pop3ds/run chmod 755 /var/qmail/supervise/qmail-pop3ds/log/run mkdir -p /var/log/qmail/smtpd mkdir -p /var/log/qmail/pop3d mkdir -p /var/log/qmail/pop3ds chown -R qmaill /var/log/qmail 6)启动脚本: cp /usr/local/qmail_src/Qmail/toaster-scripts-0.6/rc /var/qmail/ cp /usr/local/qmail_src/Qmail/toaster-scripts-0.6/qmailctl /var/qmail/bin/ chmod 755 /var/qmail/rc chmod 755 /var/qmail/bin/qmailctl ln -s /var/qmail/bin/qmailctl /usr/bin ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail ln -s /var/qmail/bin/sendmail /usr/lib/sendmail 7)用daemontools来启动qmail-send和qmail-smtpd ln -s /var/qmail/supervise/qmail-send /var/qmail/supervise/qmail-smtpd /service 8)命令: 启动,停止,重启,查看队列等 qmailctl start|stop|restart|doqueue|flush|reload|stat|pause|cont|cdb|queue|help 9)检查服务 netstat -an | grep 25 ps -ef | grep qmail ps -efl | grep "service errors" | grep -v grep 10)日志: /var/log/maillog /var/log/qmail/current /var/log/qmail/pop3d/current /var/log/qmail/pop3ds/current /var/log/qmail/smtpd/current [编辑]
vpopmail的安装1)定义 vpopmail是一个以qmail为基础的虚拟域管理包 vpopmail的用户和组我们前边已经建立了 2)配置 mkdir -p /home/vpopmail/etc a.设置默认域,红色部份改成你要设置的域。 echo "" > /home/vpopmail/etc/defaultdomain b.设置smtp规则,关闭open relays echo ‘127.0.0.1:allow,RELAYCLIENT=""‘ > /home/vpopmail/etc/tcp.smtp cd /home/vpopmail/etc ; tcprules tcp.smtp.cdb tcp.smtp.tmp < tcp.smtp c.设置MySQL信息,第一个vpopmail是账号,xukixu为密码,第二个vpopmail是数据库 echo "localhost|0|vpopmail|xukixu|vpopmail" > /home/vpopmail/etc/vpopmail.mysql chmod 640 /home/vpopmail/etc/vpopmail.mysql chown -R vpopmail.vchkpw /home/vpopmail/etc d.在MySQL里添加vpopmail的账号 mysql -uroot --pxukixu > CREATE DATABASE vpopmail; > GRANT select,insert,update,delete,create,drop ON vpopmail.* TO vpopmail@localhost IDENTIFIED BY ‘xukixu‘; > FLUSH PRIVILEGES; > QUIT 3)安装: cd /usr/local/qmail_src/Qmail tar zxvf vpopmail-5.4.7.tar.gz cd vpopmail-5.4.7 4)带数据库支持 ./configure --enable-incdir=/usr/local/mysql/include make make install-strip 5)管理: echo ‘export PATH=$PATH:/home/vpopmail/bin‘ >> /etc/profile source /etc/profile a.添加域,红色部份前面是域名,后面是管理员(postmaster)密码 vadddomain xukixu b.添加用户,红色部份为注解,不用输入 vadduser -q 10485760S(邮箱大小) xukixu@(邮箱账号) 1234(密码) vmoduser -c 许靖(邮箱描述) xukixu@ c.设置邮箱容量达到90%的警告信息 vi /home/vpopmail/domains/.quotawarn.msg From: 邮箱管理员 Reply-To: postmaster@ To: 邮箱用户 Subject: 邮箱空间警告 Mime-Version: 1.0 Content-Type: text/html; charset=gb2312 Content-Transfer-Encoding: base64 您的邮箱空间已经达到90%.如果想继续使用,请删除一些信件. 如果需要帮助,请联系邮箱管理员: Email : postmaster@ 6)设置邮箱已满的警告信息 echo "邮件被拒绝,用户的邮箱空间已满." > /home/vpopmail/domains/.over-quota.msg 7)启动脚本: cp /usr/local/qmail_src/Qmail/toaster-scripts-0.6/vpopmailctl /var/qmail/bin ln -s /var/qmail/bin/vpopmailctl /usr/bin chmod 755 /var/qmail/bin/vpopmailctl 8)用daemontools来启动qmail-pop3d和qmail-pop3ds ln -s /var/qmail/supervise/qmail-pop3d /service ln -s /var/qmail/supervise/qmail-pop3ds /service 9)命令:
vpopmailctl start|stop|restart|stat|pause|cont|help 10)检查服务 netstat -an | grep 110 ps -ef | grep qmail ps -efl | grep "service errors" | grep -v grep 11)带数据库支持 cd /usr/local/qmail_src/Qmail/netqmail-1.05/netqmail-1.05 patch -p0 < /usr/local/qmail_src/Qmail/chkuser-0.6.mysql.patch 12)修改libmysqlclient.a存在路径 vi conf-mysql /usr/local/mysql/lib/libmysqlclient.a make clean make qmailctl stop make setup check qmailctl start 13)安装选项参考: vpopmail 5.4.7 Current settings ------------------------------------------------------ vpopmail directory = /home/vpopmail uid = 89 gid = 89 roaming users = OFF --disable-roaming-users (default) password learning = OFF --disable-learn-passwords (default) md5 passwords = ON --enable-md5-passwords (default) file locking = ON --enable-file-locking (default) vdelivermail fsync = OFF --disable-file-sync (default) make seekable = ON --enable-make-seekable (default) clear passwd = ON --enable-clear-passwd (default) user dir hashing = ON --enable-users-big-dir (default) address extensions = OFF --disable-qmail-ext (default) ip alias = OFF --disable-ip-alias-domains (default) domain quotas = OFF --disable-domainquotas (default) auth module = mysql --enable-auth-module=mysql mysql replication = OFF --disable-mysql-replication (default) mysql logging = ON --enable-mysql-logging mysql limits = OFF --disable-mysql-limits (default) MySQL valias = OFF --disable-valias (default) auth inc = -I/usr/include/mysql auth lib = -L/usr/lib/mysql -lmysqlclient -lz -lm system passwords = OFF --disable-passwd (default) pop syslog = show failed attempts with clear text password --enable-logging=p auth logging = ON --enable-auth-logging (default) all domains in one SQL table = --enable-many-domains (default) 14)POP3和SMTP测试 用outlook测试qmail的smtp和pop3是否正常,注意由于vpopmail支持虚拟域名,所以在outlook中设置邮件账号时,用户名后要加上域名,如demo@demo.com。smtp是带认证的,在outlook中也要作相应设置。建议先测试正常 后再进行下一步安装。如果qmail出现问题,可查看mysql中的vpopmail数据库,/var/log下的mysqld和maillog日志记录,这样容易很快找出问题。 [编辑]
安装并运行igenus到这里 (http://www.)下载最新的安装包,我用的是igenus_2.0.2_20040901_release.tgz 1)安装: cd /usr/local/qmail_src/Qmail tar zxvf igenus_2.0.2_20040901_release.tgz -C /var/www/ cd /var/www/ rm -rf html/ mv igenus html 2)建temp文件夹 cd /var/www/html/ mkdir temp chmod -R 0755 temp chown -R vpopmail:vchkpw temp mkdir /home/netdisk chmod -R 0755 /home/netdisk chown -R vpopmail:vchkpw /home/netdisk chmod -R 0755 /var/www/html/ chown -R vpopmail:vchkpw /var/www/html/ 3)修改httpd.conf vi /etc/httpd/conf/httpd.conf Group vchkpw User vpopmail DocumentRoot "/var/www/html/" /etc/rc.d/init.d/httpd restart //重启apache,使修改生效 4)修改config_inc.php文件 cd /var/www/html/config vi config_inc.php $CFG_BASEPATH = "/var/www/html/"; \\改成你安装的目录 $CFG_MYSQL_HOST = ‘localhost‘; $CFG_MYSQL_USER = ‘vpopmail‘; \\vpopmail访问mysql的账号 $CFG_MYSQL_PASS = ‘xukixu‘; \\vpopmail访问mysql的密码 $CFG_MYSQL_DB = ‘vpopmail‘; \\数据库 $CFG_TEMP = $CFG_BASEPATh."/temp"; \\改成你安装的目录的当前目录下 5)重新编制Mysql数据库表格 a.删除之前创建的域名 vdeldomain b.编辑数据库: mysql -uroot -pxukixu c.编辑/var/www/html/docs/iGENUS.sql vi /var/www/html/docs/iGENUS.sql 6)运行 mysql -uroot -pxukixu </var/www/html/docs/iGENUS.sql 导入数据表。 7)设置igenus 定义允许上传下载的邮件的大小 vi /etc/php.ini a.编辑/etc/php.ini max_execution_time=60 memory_limit=20M post_max_size = 10M file_uploads=on upload_max_filesize=10M register_globals=On session.bug_compat_42=0 session.bug_compat_warn=0 sendmail_path = /var/qmail/bin/qmail-inject b.编辑/etc/http/conf/httpd.conf AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps DirectoryIndex index.php index.html NameVirtualHost *:80 <VirtualHost *:80> ServerName mail.domain.net DocumentRoot /var/www/html </VirtualHost> 8)重启apache: service httpd restart 9)如果需要,用vadddomain和vadduser添加新域名和新用户。 最后打开浏览器,输入http:///, 就可以访问网站了 10)Qmail限制附件的大小 在/var/qmail/control/databytes 文件中设置附件的大小,可以实现对qmail附件大小的限制,一般安装完成后,这个文件是没有的,你可以自己创建。 smtp方式是以qmail的databytes作限制的 创建databytes并设置邮件最大为4m echo 4000000 >/var/qmail/control/databyte 11)限制单域的邮箱数量 vi /home/vpopmail/domains//.qmailadmin-limits 这样就把邮箱总数限制在200个,每个邮箱为50M了 12)用qmail封mailfrom vi/var/qmail/control/badmailfrom 这个控制文件实现拒收邮件功能的,每一个地址要单独一行。而且,不用重起qmail就能生效。例如: peng@96633.net -----限制一个特定的用户 @sina.com -----限制整个域中的邮件 [编辑]
安装并运行iGenus_Admin1)下载 从www. 下载igenus_admin的安装文件igenus_admin_0.1.tgz到/home/pkg 2)安装 cd /usr/local/qmail_src/Qmail tar -xzvf igenus_admin_0.1.tgz -C /var/www/html/ 3)设置 vi /var/www/html/admin/includes/config_inc.php
4)保存退出 touch /etc/syspasswd.dat 5)登录设置页面 http:///admin/sys/ 用户:Admin密码Admin来登录.注意A要大写..这个管理账号密码登录后可以改的 登录后,首先点"更新数据库"你就会看见你的域名啦.然后点"编辑"把"登录权限 该域管理员(Postmaster)有权登录进行用户管理"这一项打勾,确认后,就可以用 http:///admin/ 来登录管理了。 [编辑]
SpamAssassin1)简介 Spam是一个让人讨厌的字眼. 大部分的人都不喜欢它. 如果你想保护自己免受spam, 你就需要安装SpamAssassin. 安装SpamAssassin 要用到Time-HiRes、Digest-SHA1、HTML-Parser、perl-DB_File和HTML-Tagset. 如果你没有安装的话,必须首先安装它,此文件均在RHAS3安装光盘第二和第三张中。对应的软件包为: perl-Time-HiRes-1.38-3.i386.rpm perl-Digest-SHA1-2.01-15.1.i386.rpm perl-HTML-Parser-3.26-17.i386.rpm perl-HTML-Tagset-3.03-28.noarch.rpm perl-DB_File-1.804-88.i386.rpm 2)如需安装请按照以下顺序安装RPM: perl-Time-HiRes* --> perl-Digest-SHA1* --> perl-HTML-Tagset* --> perl-HTML-Parser* --> perl-DB_File* 3)安装SpamAssassin groupadd spamd useradd -g spamd -s /bin/false spamd 4)我们想要SpamAssassin 随系统自动启动,安装目录中提供了一个起动脚本 cp spamd/redhat-rc-script.sh /etc/rc.d/init.d/spamd vi /etc/rc.d/init.d/spamd 修改其中一行为上所示。 chmod 755 /etc/rc.d/init.d/spamd chkconfig --add spamd spamassassin的过滤模板在/etc/mail/spamassassin/local.cf,修改为: vi /etc/mail/spamassassin/local.cf 运行ntsysv,将spamd设定的为开机运行. 5)进行一个spam和non-spam的测试 spamassassin -t < sample-spam.txt > spamtest.txt less spamtest.txt spamassassin -t < sample-nonspam.txt > nospamtest.txt less nospamtest.txt #spamtest.txt文件在主题一段中将包含"*****SPAM*****" 这一行, 而nospamtest.txt文件中则没有. 建立SpamAssassin的学习系统 sa-learn --rebuild -D -p user_prefs [编辑]
Clamav1)添加所需的组和用户 groupadd clamav useradd -g clamav -s /bin/false clamav 2)安装软件 cd /usr/local/qmail_src/Qmail tar -xzvf clamav-0.86.2.tar.gz cd clamav-0.86.2 ./configure make check make install 3)测试Clamav clamscan --recursive --log=/tmp/clamscan.log ./ //扫描当前目录,测试clamscn是否运行 cat /tmp/clamscan.log 4)升级clamscan病毒库 freshclam --verbose 5)创建freshclam日志记录文件 mkdir -p /var/log/clamav touch /var/log/clamav/clamd.log chown clamav.clamav -R /var/log/clamav/ chmod 644 -R /var/log/clamav/ 6)创建clamav启动脚本 vi /etc/rc.d/init.d/clamav 7)使其能够执行 chmod 755 /etc/rc.d/init.d/clamav 8)随开机起动 echo /etc/rc.d/init.d/clamav start >/etc/rc.d/rc.local [编辑]
MailDrop and TNEF reader1)简介 TNEF是一个从"application/ms-tnef". 类型中找出MIME附件的程序.这仅仅是微软系统中的一种附件. TNEF程序允许将封装成TNEF的附件提取出来. 安装TNEF并不是必须的, 但我强烈推荐安装它! 2)安装 maildrop cd /usr/local/qmail_src/Qmail tar -xjvf maildrop-1.7.0.tar.bz2 cd maildrop-1.7.0 ./configure make make install-strip make install-man 3)安装 the tnef cd /usr/local/qmail_src/Qmail tar -xzvf tnef-1.2.3.1.tar.gz cd tnef-1.2.3.1 ./configure make make install 4)使用Maildrop调用SpamAssassin 在/home/vpopmail/domains/localhost.com(你创建的域)/ 建立mailfilter文件 touch mailfilter chown vpopmail:vchkpw mailfilter chmod 700 mailfilter 5)修改.qmail-default 内容如下: | /usr/local/bin/maildrop ./mailfilter [编辑]
qmail-scanner&qms-analog1)为了能够扫描邮件服务器中进出的邮件, 我们需要安装 qmail-scanner. 如果你之前没有安装perl-suidperl,我们还需要安装它 cd /usr/local/qmail_src/Qmail rpm -Uvh perl-suidperl-5.8.0-88.3.i386.rpm 2)解压qmail-scanner tar zxvf qmail-scanner-1.22.tgz 3)解压qms-analog tar zxvf qms-analog-0.3.4.tar.gz 4)拷贝所需要的qms-analog文件到qmail-scanner安装目录 cp qmail-scanner-1.22-st-qms-20040530.patch /usr/local/qmail_src/Qmail/qmail-scanner-1.22/ 5)打上qms-analog补丁 cd /usr/local/qmail_src/Qmail/qmail-scanner-1.22 6)继续安装qmail-scanner,添加所需的组和用户 groupadd qscand useradd -g qscand -s /bin/false qscand 7)通过qms-config-script脚本来安装qmail-scanner,编辑qms-config-script vi qms-config-script 8)修改下面红色部份以达到我们的需求 #!/bin/sh 注意: "--admin" 和 "--domain" 参数组成了账号"user"@"domain name". 警告消息将通过qmail-scanner 发往这个邮件账号, 所以必须确认这是一个管理级别的账号. 另外,所有域的警告信息都会发给这个账号, 所以一定要小心. 9)保存并退出。 10)测试qmail-scanner安装 ./qms-config-script 在第一步时, 按y 允许qmail-scanner提前configure. 第二步时, 按y,建立 qmail-queue-scanner.pl 文件. 测试如果没有错误 ,就可以进行下一步安装 ./qms-config-script install 看看/var/qmail/bin/qmail-scanner-queue.pl是否存在 chown qscand:qscand /var/qmail/bin/qmail-scanner-queue.pl chmod 4755 /var/qmail/bin/qmail-scanner-queue.pl 然后用一个普通用户登陆,执行/var/qmail/bin/qmail-scanner-queue.pl -z setuidgid qscand /var/qmail/bin/qmail-scanner-queue.pl -z 11)在你的qmail启动脚本加入红色部份 #!/bin/sh QMAILDUID=`id -u vpopmail` NOFILESGID=`id -g vpopmail` PATH=$PATH:/usr/local/bin:/var/qmail/bin QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl" export QMAILQUEUE MAXSMTPD=`cat /var/qmail/control/concurrencyincoming` exec /usr/local/bin/softlimit -m 40000000 /usr/local/bin/tcpserver -v -H -R -l 0 -x /home/vpopmail/etc/tcp.smtp.cdb -c "$MAXSMTPD" -u "$QMAILDUID" -g "$NOFILESGID" 0 smtp /var/qmail/bin/qmail-smtpd /home/vpopmail/bin/vchkpw /bin/true 2>&1 12)重新启动smtp服务 qmailctl stop qmailctl start qmailctl stat 13)测试程序 cd /usr/local/qmail_src/Qmail/qmail-scanner-1.22/contrib/ 这个脚本会设定的管理员邮件地址发送3个邮件,第一个邮件是一般的正常邮件,第二个邮件中会包含eicar.com测试病毒,第三个邮件同样包含eicar.com测试病毒,不过所附带的文件名不是eicar.com。 如果qmail-scanner安装正确,管理员就应该可以收到关于后面的两个邮件的警告邮件。 如果系统出错,可以查看/var/spool/qmailscan/qmail-queue.log日志文件。 qmail-scanner的特征过滤在/var/spool/qmailscan/quarantine-attachments.txt 14)主要的排错监测日志 /var/spool/qmailscan/quarantine.log /var/spool/qmailscan/qmail-queue.log /var/spool/qmailscan/qms-events.log /var/log/clamav/clamd.log /var/log/maillog [编辑]
isoqlog1)简介 isoqlog是一个qmail日志分析工具,它是用perl写的,可以分析和统计qmail的运行日志,并生成漂亮的HTML格式的报表,如果服务器上已经安装WEB服务,管理员就可以通过浏览器来查看这些报表。相对于 qmailanalog,isoqlog分析的项目稍微少一些。 soqlog可以生成多个邮件域的报表;对于每个邮件域,isoqlog可以统计出每天、每月、每年的邮件流量以及字节数,还生成相应的统计柱状图;对于每天的报表,isoqlog可以根据邮件投递的数量以及字节数的多少来对邮件用户进行排列。 1)安装isoqlog cd /usr/local/qmail_src/Qmail tar zxvf isoqlog-2.1.1.tar.gz cd isoqlog-2.1.1 ./configure make make install make clean 2)配置isoqlog cd /usr/local/etc mv isoqlog.conf-dist isoqlog.conf 将下面红色部份改成你的安装目录和主机名称。 #isoqlog Configuration file 3)保存并退出。 4)下一步是告诉isoqlog哪些虚拟域需要产生统计报表,我希望我的mail服务器能够报告每个域的状态,所以只需要简单的创建了个链接即可: ln -s /var/qmail/control/rcpthosts isoqlog.domains 5)现在,isoqlog应该能够正常运行了,运行如下命令测试一下效果: /usr/local/bin/isoqlog 6)通过如下页面查看输出结果: http:///isoqlog 7)你可以点击各个虚拟域名称显示其报表。 8)我们希望isoqlog能够即时提供报表,将如下内容加入crontab crontab -e 58 * * * * /usr/local/bin/isoqlog 1>/dev/null 2>/dev/null 每个小时的第58分钟运行一次 [编辑]
邮件系统维护1)邮件系统相关日志 /var/log/maillog /var/log/qmail/current /var/log/qmail/pop3d/current /var/log/qmail/pop3ds/current /var/log/qmail/smtpd/current /var/spool/qmailscan/qmail-queue.log /var/spool/qmailscan/qms-events.log /var/spool/qmailscan/quarantine.log 2)设置Qmail用户邮箱的容量 # cd /home/vpopmail/bin #./vsetuserqutoa 10500000s --这个域,都设成10m的 #./vsetuserqutoa xuki@ 10500000s ---只把xuki@这个用户单独设置为10m。 3)批量添加用户 例1: 新建一文件 batchadduser.sh,将以下内容拷入文件中保存 ,运行chmod u+x batchadduser.sh使其可执行。 #!/bin/bash #batchadduser.sh: batch add mail user. #install step. #chmod u+x batchadduser #./batchadduser.sh domain datafile if [ $# -lt 2 ] then echo "usage: $0 domain datafile" exit 1 fi domain=$1 datafile=$2 addcmd=/home/vpopmail/bin/vadduser while read username passwd do $addcmd $username@$domain $passwd done < $datafile 运行batchadduser.sh user即可批量添加用户。 例2: 把用户名放到一个文本文件中,一个名字一行,密码和它的账号一致,用户自己再去改密码。 while read line do echo $line ./vadduser $line $line done < user 临时限制一个用户的pop3 vmoduser -p email_addr or domain ( for the entire domain ) 修改默认的域名 A: 要更改haohao.com为默认域。 方法: 更改~qmail/control/ defaultdomain me plusdomains 逐一更改启动pop3和 smtp的启动脚本: 修改:email.3sk.com为haohaoo.com 在最上边添加:export VPOPMAIL_DOMAIN=haohaoo.com 把一邮件域的名字比如a.com更改为b.com,如何实现 以下几个步骤: a、cd /home/vpopmail/domains mv a.com b.com b、把vpopmail数据库的vpopmail表导出把所有a.com改为b.com,然后删除vpopmail表,再导入. c、把把vpopmail数据库的dir_control表的a.com改为b.com d、在/home/qmail/control 目录下把 virtualdomains和rcpthosts下的的a.com改为b.com. e、在/home/qmail/users目录下把assign文件的a.com改为b.com f、需要运行qmail-newu重新生成cdb。assign只是配置文件,cdb才是实际的数据文件。加快 qmail 投递邮件速度 A: /var/qmail/control下面是qmail的控制文件,这两个文件: Concurrentcylocal default: 10 最大本地同时传送数 Concurrencyremote default: 20 最大远程同时传送数 更改域的默认管理账号 A: vmoduser有个-a参数,可以赋予用户管理权限。 说明:如果想全面禁用postmaster的特殊权限话,就只能改源代码了。 QMAIL下的主要配置文件(/var/qmail/control目录下): 文件名 默认值 使用者 用途 badmailfrom none qmail-smtpd 黑名单地址 bouncefrom MAILER-DAEMON qmail-send 退回邮件 bouncehost me qmail-send 退回邮件 concurrencylocal 10 qmail-send 本地同时投递邮件的数目 concurrencyremote 20 qmail-send 同时投递至远程主机的数目 defaultdomain me qmail-inject 默认域名 defaulthost me qmail-inject 默认主机名 databytes 0 qmail-smtpd 邮件的最大容量 (0=无限制) doublebouncehost me qmail-send doublebounceto postmaster qmail-send envnoathost me qmail-send 没有"@"的默认域名 helohost me qmail-remote 主机名 idhost me qmail-inject Message-ID的主机名 localiphost me qmail-smtpd 本地IP的替代名 locals me qmail-send 传递至本地的域名 me 系统正式域名 various morercpthosts none qmail-smtpd 第二个rcpthosts percenthack none qmail-send 使用 "%"格式的域名 plusdomain me qmail-inject qmqpservers none qmail-qmqpc QMQP服务器的IP地址 queuelifetime 604800 qmail-send 在队列中邮件保存的时间(秒) rcpthosts none qmail-smtpd 接收邮件的域名 smtpgreeting me qmail-smtpd smtproutes none qmail-remote timeoutconnect 60 qmail-remote SMTP连接超时时间 timeoutremote 1200 qmail-remote 等待远程主机的时间 timeoutsmtpd 1200 qmail-smtpd SMTP客户连接超时的时间 virtualdomains none qmail-send 虚拟域名 Qmail限制附件大小 我的配置经验==》Qmail限制附件大小: 1.在/var/qmail/control/databytes 中设置附件大小,这个文件要手动建立,直接输入数字就行,默认单位为bytes,如10485760为10M; 2.Webmail中发送附件默认只支持500K左右,如想支持5M附件,修改如下文件 # vi /etc/php.ini WebMail上传附件大小限制 (解决上传文件不能大于512KB的问题) 更改/etc/httpd/conf.d/php.conf: LimitRequestBody 524288中的524288正好跟512KB相等,将其更改为10485760,设置允许最大上传的附件为10MB。 [编辑]
FAQ (整理编写: Nanu)1、iGENUS Admin无法添加域,返回一些数据库查询错误? 执行下面的操作问题就可以解决了: # chown root /home/vpopmail/bin/vadddomain # chmod a+s /home/vpopmail/bin/vadddomain 2、用Outlook发送邮件的时候出现451, qq crashed # 4.3.0 错误? 检查/var/qmail/supervise/qmail-smtpd/run,查看exec /usr/local/bin/softlimit -m 40000000 是否为40000000,注意是7个0,如果小于40000000(40MB),则会出现451, qq crashed # 4.3.0 错误。 3.用Outlook发送邮件的时候出现451 tempory qq failed 错误? 这个问题与Qmail、qmail-scanner和Clamav有关,可以按照顺序从新安装Qmai、Clamav、qmail-scanner解决。但注意,重新安装之前请先执行: # qmailctl stop # /etc/rc.d/init.d/clamav stop 4.iGENUS Admin的登录好像总是有问题? iGENUS Admin有两种登录模式,一种时管理员模式(拥有所有域的控制权限);另一种是域管理模式(只能控制所属域)。这两种方式的登录地址是不一样的: 管理员模式:http://mail./admin/sys/ 域管理模式:http://mail./admin/ 5.何更改iGENUS Admin的管理员用户名? 默认情况下,iGENUS Admin的管理员用户名为Admin,可以通过以下方式更改管理员用户名: # vi /path-to-webmail/admin/include/config_inc.php 找到下面行: $CFG_SYSADMIN_NAME = "Admin"; 将Admin换成你所要的管理员用户名。 |
|