Qpopper 是 QUALCOMM 的开放源码 POP3 Server 。目前最新的版本为 4.0。该软件在Solaris 上使用广泛。笔者在实际应用中碰到的问题是,用户的邮件超过磁盘限额后, 必须由系统管理员手工干预,扩大其限额才能继续接收。
导致这个问题的原因是:POP server 需要建立临时文件,而这个文件的建立时所在的文件系统和用户邮箱 spool 目录在同一个文件系统。
对 Qpopper 而言,解决的办法时,分开这两个文件系统,在编译时,指定开关,或者在配置文件中设置
需要注意的是在 Solaris 中 /usr/mail 也被软连接到 /var/mail ,因此,我们需要删除 /usr/mail 才能让系统正常。
下面提供一个磁盘限额时报警的程序。写入 crontab ,可以监控你的用户邮箱使用情况。
#!/bin/sh
for i in `/usr/sbin/repquota -v / | awk '$2 ~ /\+/ {print $1}'`
do
(
#
cat << MESSAGE
From: 系统管理员 sysadmin@freelamp.com
To: $i@freelamp.com
Subject: 您的邮箱已经满了!快接收您的邮件吧!
您好,
您的磁盘空间已满,将在 7 天以后不能接收新的邮件。
请迅速接收您的邮件。
您的磁盘使用情况见附件:
MESSAGE
quota -v $i
) | /usr/lib/sendmail $i
done