欢迎光临范阳布衣的运维博客
分享工作和学习中的知识、技术

Qmail系统维护

■创建用户

cd /home/vpopmail/bin 
vadduser -q 10M邮箱大小 maoxysssyuan.com邮箱帐号 11111密码 
vadduser -q 10M maoxysssyuan.com 111111 
如果没有加上容量限制,默认参照/home/vpopmail/etc/vlimits.default的设置

■删除邮件用户或邮件域

cd /home/vpopmail/bin 
./deluser maoxymydomain.com 
./deldomain mydomain.com

■设置qmail用户邮箱的容量

cd /home/vpopmail/bin 
domain.com这个域,都设成10m的 
./vsetuserqutoa mydomain.com 20M 
只把maoxymydomain.com这个用户单独设置为20m。 
./vsetuserqutoa maoxymydomain.com 20M

■qmail限制附件的大小

/var/qmail/control/databytes 文件中设置附件的大小,
可以实现对qmail附件大小的限制,
一般安装完成后,这个文件是没有的,你可以自己创建。
smtp方式是 以qmail的 databytes作限制的。
创建databytes并设置邮件最大为4m :
echo 4000000 /var/qmail/control/databytes

■限制单域的邮箱数量和每个邮箱的默认大小。

邮箱总数限制在200个,每个邮箱默认30M。

vi /home/vpopmail/domains/mydomain.com/.qmailadmin-limits 
maxpopaccounts 200 
default_quota 30000000S 
chown vpopmail:vchkpw /home/vpopmail/domains/mydomain.com/.qmailadmin-limits

■实现拒收邮件功能

vi /var/qmail/control/badmailfrom 
这个控制文件实现拒收邮件功能的,每一个地址要单独一行。而且,不用重起qmail就能生效。
例如: 
peng163.net -----限制一个特定的用户 
sina.com-----限制整个域中的邮件

■批量添加用户

用perl脚本实现和一个用户加密码的文本文件批量添加用户。
perl脚本的内容:

#!/usr/bin/perl -W 
use strict my scriptqmailuseradd.pl 
if ARGV 2 {
    print "\nUsage : ./script domain datafile \n\n"; 
    exit; 
    }
my $comm="/home/vpopmail/bin/vadduser"; 
my $domain=shift @ARGV; 
while (my $line = <> { 
chomp $line; 
$line = m/(\w+)\s*[\s\,]\s*(\w+)/; 
my ($username, $passwd) = ($1,$2); 
system ("$comm $username $passwd");

用户加密码的文本文件的内容:

maoxy 111111 
sssyuan 222222 
..... ...... 

使用方法:
把脚本和文本文件放到同一目录下,执行:
qmailuseradd.pl 邮件域名 文本文件名

■删除队列中的邮件

1 停止qmail
qmailctl stop
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
qmailctl start
队列中的邮件包含在以下目录中 /var/qmail/queue/{info,mess,remote,local}/#number

■备份qmail服务器数据,转移到另一台机器。

备份下面三个目录下所有文件。
– /home/vpopmail/domains目录
– /var/qmail/control目录
– /var/lib/mysql/vpopmail目录

tar cvzf domains.tar.gz /home/vpopmail/domains 
tar cvzf control.tar.gz /var/qmail/control 
tar cvzf mysql.tar.gz /usr/lib/mysql/vpopmail

重新按照本手顺安装邮件服务器,把以上三个压缩包解压缩覆盖就可。

■变更邮件域名 例如:邮件域的名字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、在/var/qmail/control 目录下把 virtualdomainsrcpthosts下的的a.com改为b.com.
5、在/var/qmail/users目录下把assign文件的a.com改为b.com
6、需要运行qmail-newu重新生成cdbassign只是配置文件,cdb才是实际的数据文件

未经允许不得转载:范阳布衣 » Qmail系统维护