设为首页 收藏本站
 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2169|回复: 0

Postfix邮件系统EXTMAIL下的批量用户添加

[复制链接]

13

主题

22

帖子

144

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
144
发表于 2014-4-22 08:40:28 | 显示全部楼层 |阅读模式
现在我们来看看怎么样批量添加用户。
1.在这里我参考了archerhu 的添加方式!通过修改/var/www/extsuite/extman/tools/userctl2.pl 文件
修改的方法
131行加上:
my $name = $_[4];
注释原139行的:
#my $name = defined $opt{name} ? $opt{name} : $user;
原来第268行改为:
$rv = adduser $info[0],$info[1],$info[2],$info[3],$info[4];

用户信息文件格式(email地址、密码、邮箱配额、netdisk配额、名字):
test1@mydomain.com 123123 100 20 测试用户1
test2@mydomain.com 123123 100 20 测试用户2
用户信息文件保存的时候记得保存为utf8格式 ,保存一个adduser.txt 文档拷贝到/var/www/extsuite/extman/tools/下
这是我修改的脚本-参考一下(注意加粗行)
  1. 126 sub adduser {
  2.     127     my $email = $_[0];
  3.     128     my $password = $_[1];
  4.     129     my $quota = $_[2]; # MB
  5.     130     my $netdiskquota = $_[3]; # MB
  6. <b>   131     my $name = $_[4];</b>
  7.     132     my ($user,$domain) = split(/@/,$email);
  8.     133     my $uid = $c->{SYS_DEFAULT_UID};
  9.     134     my $gid = $c->{SYS_DEFAULT_GID};
  10.     135
  11.     136     my $createdate = strftime("%Y-%m-%d %H:%M:%S", localtime);
  12.     137     my $expiredate = '0000-00-00'; # default to unlimited/auto
  13.     138     my $question = defined $opt{question} ? $opt{question} : "";
  14.     139     my $answer = defined $opt{answer} ? $opt{answer} : "";
  15. <b>    140    #my $name = defined $opt{name} ? $opt{name} : $user; </b>

  16. 268  $rv = adduser $info[0],$info[1],$info[2],<b>$info[3],$info[4];</b>
复制代码



然后命令格式如下:不要忘记给脚本执行权限
cd /var/www/extsuite/extman/tools/
#perl ./userctl2.pl --mod=badd --file./addusertest.txt --setuid=1000 --setgid=1000
我添加了300多用户,全部添加成功!
从原来的数据库里导出一个域下的所有用户的方法:
select username,password,quota,netdiskquota,name from mailbox where username like "%@man.com" order by username into outfile 'man.txt';
select count(*) from mailbox ;
select * from mailbox where username like "%man.com%";
DELETE FROM mailbox where username like "%man.com%";
导出的文件先要确认一下文件的字符集,VI进入后输入:set fileencoding  会显示当前字符编码,然后 :set fileencoding=utf-8 保存即可。
其次要修改man.txt文件里第二列的密码为明文密码。
最后将man.txt文件里每列之前的分隔符删除掉,换成一个空格即可。
还要记得文件里邮件空间和网盘空间是按M为单位的,所以一般都是100 10即可。
以下是一个页面帮助地址:
http://www.extmail.org/forum/viewthread.php?tid=10027&highlight=批量
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

返回列表 快速回复 返回顶部