第二十三节:测试 TOP
测试igenus
http://domain.com/
测试qmailadmin
http://domain.com/cgi-bin/qmailadmin
测试vQadmin
http://domain.com/cgi-bin/vqadmin/vqadmin.cgi
测试SMTP认证
[root@mail pkg]# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
220 domain.com ESMTP
ehlo domain.com
250-domain.com
250-STARTTLS
250-PIPELINING
250-8BITMIME
250-SIZE 0
250 AUTH LOGIN PLAIN CRAM-MD5
starttls
220 ready for tls
quit
quit
Connection closed by foreign host.
[root@mail pkg]#
测试POP3
[root@mail pkg]# telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
+OK <12316.1112351637@mail.domain.com>
user xuki@domain.com
+OK
pass xukixu
+OK
quit
+OK
Connection closed by foreign host.
[root@mail pkg]#
测试IMAP
[root@mail pkg]# telnet localhost 143
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE ACL ACL2=UNION STARTTLS] Courier-IMAP ready. Copyright 1998-2004 Double Precision, Inc. See COPYING for distribution information.
a001 login xuki@domain.com xukixu
a001 OK LOGIN Ok.
a001 login out
a001 NO Error in IMAP command received by server.
a001 logout
* BYE Courier-IMAP server shutting down
a001 OK LOGOUT completed
Connection closed by foreign host.
[root@mail pkg]#
第二十四节:系统维护 TOP
邮件系统相关日志
/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
第二十五节:FAQ(网上收集) TOP
设置qmail用户邮箱的容量
cd /home/vpopmail/bin
./vsetuserqutoa domain.com 10500000s --domain.com这个域,都设成10m的
./vsetuserqutoa xuki@domain.com 10500000s ---只把xuki@domain.com这个用户单独设置为10m。
qmail限制附件的大小
在/var/qmail/control/databytes 文件中设置附件的大小,可以实现对qmail附件大小的限制,一般安装完成后,这个文件是没有的,你可以自己创建。smtp方式是以qmail的databytes作限制的;创建databytes并设置邮件最大为4m :
echo 4000000 >/var/qmail/control/databytes
限制单域的邮箱数量
vi /home/vpopmail/domains/domain.com/.qmailadmin-limits
maxpopaccounts 200
default_quota 52428800s
chmod 700 /home/vpopmail/domains/domain.com/.qmailadmin-limits
chwod vpopmail:vchkpw /home/vpopmail/domains/domain.com/.qmailadmin-limits
这样就把邮箱总数限制在200个,每个邮箱为50M了
用qmail封mailfrom
vi/var/qmail/control/badmailfrom
这个控制文件实现拒收邮件功能的,每一个地址要单独一行。而且,不用重起qmail就能生效。例如:
peng@96633.net -----限制一个特定的用户
@sina.com -----限制整个域中的邮件
批量添加用户
例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
domain=$1
datafile=$2
addcmd=/home/vpopmail/bin/vadduser
while read username passwd
$addcmd $username@$domain $passwd
done < $datafile
user文件内容的格式
username1 passwd
username2 passwd2
............
运行batchadduser.sh user即可批量添加用户。
例2:
我把用户名放到一个文本文件中,一个名字一行,密码和它的帐号一致,用户自己再去改密码。
while read line
echo $line
./vadduser $line $line
done < user
有选择地清理不需要的Mail Queue
1、处理队列中的邮件:
如想在队列中的邮件马上传递,可以
kill -HUP qmail-send
要删除队列中的邮件
1) 停止qmail
2) mv /var/qmail/queue/lock /var/qmail/;find /var/qmail/queue/ -type f -exec rm {} \; ;mv /var/qmail/lock /var/qmail/queue/
3) 重启qmail.
队列中的邮件包含在以下目录中 /var/qmail/queue/{info,mess,remote,local}/hash/#number
2、在邮件队列中快速删除从一个地方发过来但又不存在的邮件设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信号
3、删除队列中的大量广告信息
先停止qmail.
1) 停止qmail, qmail-smtpd
2) 在以下默认目录下 /var/qmail/queue/mess
find /var/qmail/queue/mess -type f -exec grep "^Subject:dss" {} \; -print -exec rm {} \;
3) 运行queue-fix清除相关文件,
4) 重启qmail.
使用sh备份qmail+mysql数据到指定的ftp地址的方法
备份vpopmail的domains目录、qmail的control目录和mysql的var数据存放目录,使用crontab定时进行操作。下面是脚本文件,具体的目录视自己的系统更改:
mkdir /var/qmailbakup
cd /var/qmailbakup
touch qmailbakup.sh
chmod 755 qmailbakup .sh
vi qmailbakup.sh
#!/bin/sh
DATE=`date +%Y-%m-%d-%H`
cd /var/qmailbakup/
tar cvzf domains.$DATE.tar.gz /home/vpopmail/domains
tar cvzf control.$DATE.tar.gz /var/qmail/control
tar cvzf mysql.$DATE.tar.gz /usr/local/mysql/var
ftp -n 192.168.0.21 << ! //你的ftp服务器的地址
user qmail qmailbakup //ftp用户名和密码,注意要有put权限
binary
put domains.$DATE.tar.gz
put control.$DATE.tar.gz
put mysql.$DATE.tar.gz
rm -f domains.$DATE.tar.gz control.$DATE.tar.gz mysql.$DATE.tar.gz //删除本机产生的文件,如果你想在本服务器也保存一份备份,去掉该项即可。
使用crontab定时执行:
vi /etc/crontab
00 20 * * 0-6 /var/qmailbakup/qmailbakup.sh
这样每天晚上8:00执行改备份程序。
给新浪发信的解决办法
1) echo "我的邮件服务器的真实域名(A记录)" > /var/qmail/control/helohost
2) 拨打新浪邮件售后服务电话
临时限制一个用户的pop3
vmoduser -p email_addr or domain ( for the entire domain )
修改默认的域名
A:
要更改haohao.com为默认域。
方法:
更改~qmail/control/
defaultdomain
plusdomains
逐一更改启动pop3和 smtp的启动脚本:
修改:email.3sk.com为haohaoo.com
在最上边添加:export VPOPMAIL_DOMAIN=haohaoo.com
将一个系统的qmail用户完整地转移到另一个系统
A:
a.cdb配置的?那么请把/home/vpopmail/domains这个文件夹备份好就可以了。用户和密码文件,还有用户信件都在这个目录下。
还应该备份/var/qmail/control下的相关配置文件。
b.如果是以MYSQL数据库方式来存储用户认证信息的
只需要备份
~vpopmail/domain下的所有邮件
/var/qmail/control的配置文件
MYSQL数据库目录下的vpopmail库目录。一般是/var/lib/mysql(RPM)、/usr/local/mysql/data、/usr/local/mysql/var下面。
把一邮件域的名字比如a.com更改为b.com,如何实现
以下几个步骤:
1、cd /home/vpopmail/domains
mv a.com b.com
2、把vpopmail数据库的vpopmail表导出把所有a.com改为b.com,然后删除vpopmail表,再导入.
3、把把vpopmail数据库的dir_control表的a.com改为b.com
4、在/home/qmail/control 目录下把 virtualdomains和rcpthosts下的的a.com改为b.com.
5、在/home/qmail/users目录下把assign文件的a.com改为b.com
6、需要运行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 本地同时投递邮件的数目