常用操作:
增加用户 vadduser [email protected] hello 批量增加用户: Icbu: [email protected] [email protected] [email protected] #!/bin/bash LIST="/home/vpopmail/bin/icbu" sed -i '/^$/d' ${LIST} exec 3<${LIST} while read -u3 IP do /home/vpopmail/bin/vadduser ${IP} hello done 清除队列: #!/bin/bash num=`/usr/bin/qmailctl queue|head -1|awk '{print $4}'` echo $num MAX=10000 if [ $num -gt $MAX ] then /usr/local/sbin/qmail-remove -r else echo "Your Qmailqueue is less than $MAX, No need remove queue" fi 删除邮件: #!/bin/bash while read name do [ -d /home/vpopmail/domains/b2btest.com/$name/Maildir/new ] &&find /home/vpopmail/domains/b2btest.com/$name/Maildir/new -type f -name"*.alitest144*"| xargs /bin/rm -f [ -d /home/vpopmail/domains/b2btest.com/0/$name/Maildir/new ]&& find /home/vpopmail/domains/b2btest.com/0/$name/Maildir/new-type f -name "*.alitest144*"| xargs /bin/rm -f done < /root/list TCPRule指定: cd /home/vpopmail/etc/ cat tcp.smtp 127.:allow,RELAYCLIENT="" 10.0.:allow,RELAYCLIENT="" :allow tcprules tcp.smtp.cdb tcp.smtp.tmp < tcp.smtp qmailctl restart 磁盘占用与inode: Df 与df - i 删除大量文件释放空间: echo *|xargs rm -f & find /var/spool/clientmqueue -type f |xargs rm -f netstat -an| grep "10.20.136.72:25"|sort |uniq -c|sort -nr .remove_queue.sh 查看通信情况 ================================================= 1.查看配置文件 /var/qmail/bin/qmail-showctl 2.查看当前qmail邮件队列里消息的报告 /var/qmail/bin/qmail-qread 3.查看状态 /var/qmail/bin/qmail-qstat svstat /var/service/* 4. 立即发出所有邮件 killall -HUP qmail-send 5. 启动 svc -u /var/service/qmail & svc -u /var/service/smtpd & svc -u /var/service/pop3d & supervise /var/qmail/supervise/qmail/ & supervise /var/qmail/supervise/smtpd/ & supervise /var/qmail/supervise/pop3d/ & 6.ps -auxf | grep qmail 查看进程,看邮件服务器是否启了 ======================================== 常见问题: 7、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 虚拟域名 8、如何限制邮箱大小 a、可以根据用户使用磁盘空间限制来控制邮箱的大小,但仅靠此还有几个问题:假如邮件太大被退回,这封信会延期发送,超过20M的邮件会一直在你的邮件队列里。可以用以下脚本来修复此问题。 http://qmail.valueclick.com/qmail/qmail-1.03-quotas-1.1.patch b、另外一个解决方案,可在以下处找到http://www.tibus.net/pgregg/projects/qmail/mailquotacheck/ ,它会根据设置情况对每个用户来检查所有传递进来的邮件,可以根据设置的大小来退回邮件,并不需要LINUX自已的磁盘限制。 9、SMTP转发限制 可以在以下网址找到:http://www.qcc.sk.ca/~bguenter/distrib/relay-ctrl/ 它可据主机和POP3验证来控制SMTP转发 SMTP的验证信息可以在以下处找到: http://members.elysium.pl/brush/qmail-smtpd-auth/index.html http://members.elysium.pl/brush/cmd5checkpw/index.html http://members.elysium.pl/brush/smtp-auth/index.html 10、处理队列中的邮件: 如想在队列中的邮件马上传递,可以kill –HUP qmail-send 要删除队列中的邮件 1) 停止QMAIL 2) find /var/qmail/queue/$i -type f -exec rm {} \; 3) 重启QMAIL. 队列中的邮件包含在以下目录中 /var/qmail/queue/{info,mess,remote,local}/hash/#number 11、在邮件队列中快速删除从一个地方发过来但又不存在的邮件 假设bad.jite.com是这个域 可以键入以下命令 # echo '#' > ~alias/.qmail-baddomain-default # echo bad.jite.com:alias-baddomain >> /var/qmail/control/virtualdomains # echo bad.jite.com:127.0.0.1 >> /var/qmail/control/smtproutes 然后运行/var/qmail/bin/qmail-tcpok,给qmail-send 一个HUP信号 关于别名 如我需要一个帐号[email protected]来收到fengm上的帐号,但设置了以后却收不到信? 出于安全的考虑,qmail-local不处理带.号的帐号别名,可以使用:号来代替,另外别名不区分大小写。 12、如何收取一个域名的部份帐号 如果想接收[email protected], [email protected], [email protected], 但[email protected] [email protected]会发送到www3.jite.com. 在control/rcphosts中加入jite.com 在control/virtualdomains另入jite.com:alias-jite 建立一个别名 ~alias/.qmail-example-aaa: &aaa bbb跟ccc一样 建立 ~alias/.qmail-example-default: |forward "[email protected]" 重启qmail 另外的使用方法是用fastforward 13、删除队列中的大量广告信息 先停止QMAIL. 1) 停止qmail, qmail-smtpd 2) 在以下默认目录下 /var/qmail/queue/mess find /var/qmail/queue/mess -type f -exec grep "^Subject: asfafasfas" {} \; -print -exec rm {} \; 3) 运行queue-fix 清除相关文件, 4) 重启qmail. queue-fix可以在以下网址找到:http://www.netmeridian.com/e-huss/queue-fix.tar.gz 14、如何临时收取一个域的邮件 将此域增加至rcpthosts中, 但不要存放于locals下. 另外有第二的MX记录指向此域 。 15、为何显示没有此用户 出于安全的考虑,qmail拒绝传递给不是home目录ower的用户,比如我的帐号为fengming,home目录默认情况下设为/home/fengming,后来将home目录更改为/www,收发邮件就会有问题。 16.qmail日志的管理: a. 使用multilog程序将邮件日志存放在/var/log/qmail目录下,其中smtpd与pop3d的相关日志分别存放在子目录smtpd与pop3中。 b. multilog程序能根据要求,自动循环维持日志文件的大小,将原来的内容转存为另一文件。 c. 由于采用另一种形式的时间戳,所以要查看时间,则需用程序tai64nlocal将时间戳转换成可读形式。 深入学习qmail参考: qmail控制文件详解:http://bbs.chinaunix.net/viewthread.php?tid=1126 qmail源代码分析:http://blog.chinaunix.net/u/5591/showart_257313.html qmail队列工作原理:http://blog.chinaunix.net/u/5591/showart_259752.html |