QMail管理技巧

12/3/2006来源:Qmail人气:6698

1、有哪些站点正使用QMAIL:
2、QMAIL下的主要配置文件(/var/qmail/control目录下):
3、如何限制邮箱大小
4、SMTP转发限制
5、处理队列中的邮件:
6、在邮件队列中快速删除从一个地方发过来但又不存在的邮件
7、LOG中的时间日志:
8、如何收取一个域名的部份帐号
9、删除队列中的大量广告信息
10、如何临时收取一个域的邮件
11、为何显示没有此用户
------------------------------------
1、有哪些站点正使用QMAIL:

当前有Yahoo,InterNIC,USA.net

2、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 虚拟域名

3、如何限制邮箱大小

1、可以根据用户使用磁盘空间限制来控制邮箱的大小。因为qmail使用了maildir目录的方式存储邮件,所以可以使用系统方法,具体的请看quota的手册。但仅靠此还有几个问题:假如邮件太大被退回,这封信会延期发送,超过20M的邮件会一直在你的邮件队列里。可以用以下脚本来修复此问题。

http://qmail.valueclick.com/qmail/qmail-1.03-quotas-1.1.patch

2、另外一个解决方案,可在以下处找到

http://www.tibus.net/pgregg/projects/qmail/mailquotacheck/

它会根据设置情况对每个用户来检查所有传递进来的邮件,可以根据设置的大小来退回邮件,并不需要linux自已的磁盘限制。

4、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

5、处理队列中的邮件:

如想在队列中的邮件马上传递,可以

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

6、在邮件队列中快速删除从一个地方发过来但又不存在的邮件

假设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信号

7、LOG中的时间日志:

为了便于统一时间管理,Log中的时间使用GMT,非本地时区,这点不能更改。

关于别名
如我需要一个帐号feng.ming@jite.com来收到fengm上的帐号,但设置了以后却收不到信?
出于安全的考虑,qmail-local不处理带.号的帐号别名,可以使用:号来代替,另外别名不区分大小写。

8、如何收取一个域名的部份帐号

如果想接收aaa@jite.com,bbb@jite.com, ccc@jite.com, 但xxx@jite.com yyy@jite.com会发送到www3.jite.com. 在control/rcphosts中加入jite.com
在control/virtualdomains另入jite.com:alias-jite 。建立一个别名 ~alias/.qmail-example-aaa: %26amp;aaa 。bbb跟ccc一样。 建立

~alias/.qmail-example-default:|forward "$DEFAULT@www3.jite.com"

重启qmail。 另外的使用方法是用fastforward

9、删除队列中的大量广告信息

先停止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.

10、如何临时收取一个域的邮件

将此域增加至rcpthosts中, 但不要存放于locals下. 另外有第二的MX记录指向此域 。

11、为何显示没有此用户

出于安全的考虑,qmail拒绝传递给不是home目录ower的用户,比如我的帐号为fengming,home目录默认情况下设为/home/fengming,后来将home目录更改为/www,收发邮件就会有问题。

,