extmail 批量导入用户的程序使用说明
程序位置:extman/tools
程序名:userctl.pl
修改userctl.pl——
注释掉139行(默认name取usename@前一部分)
#my $name = defined $opt{name} ? $opt{name} : $user;
修改269行,添加$info[4](4为name字段)
$rv = adduser $info[0],$info[1],$info[2],$info[3],$info[4];
130行下添加一行代码(自定义name字段)
my $name = $_[4];
234行下添加两行代码,并修改248行代码(使add方法可以自定义网盘空间和name字段)
my $netdiskquota = $c->{SYS_USER_DEFAULT_NDQUOTA}; #default size got from webman.cf
my $name = $opt{name};
if(! (adduser $email,$password,$quota,$netdiskquota,$name)){
如果在批量导入时,原始密码已经加密且不能获取明文的情况下,可以这样做——
首先,设置extmail的加密方式与原有的加密方式一直,需要修改webmail.cf和webman.cf两个文件中的SYS_CRYPT_TYPE的值。这里需要注意,如果要修改为md5方式,请选择plain-md5,因为extmail官方解释为md5和md5crypt都是md5crypt方式,32位的hex的md5必须选择plain-md5。
然后,修改extman/libs/Ext/Mgr/MySQL.pm的302行,改为my $passwd = $opt{passwd}; ,不使用encrypt来加密。
命令举例:
添加一个用户——
./userctl.pl –mod=add –name=test1 –username=test@test.com –password=123456
参数有很多,可以执行./userctl.pl来查看参数,或直接看程序。
批量添加——
./userctl.pl –mod=badd –file=test.csv
文件可以是csv或者txt的。内容为一行一个用户:邮箱全名,密码,邮箱空间MB,网盘空间MB,用户名。
比如:zhangsan@test.com 123456 1000 500 张三
字段之间要用逗号或者空格,不能用如tab。如果用户名是中文的话,需要保证文件时utf-8的编码格式。在linux下编辑,如果是windows上传的,需要dos2unix来转。
删除一个用户——
./userctl.pl –mod=del –username=test@test.com –delmaildir=1
delmaildir=1的意思是删除用户的同时,删除此用户的邮箱目录。
批量删除用户——
./userctl.pl –mod=bdel –file=test.csv
test.csv中只保留username字段,否则会无法删除。
文章来源:http://zhangxingnan.blog.51cto.com/3241217/1609266
相关文章
- 4条评论
- 末屿梦息2022-05-28 03:23:40
- 程序位置:extman/tools 程序名:userctl.pl 修改userctl.pl—— 注释掉139行(默认name取usename@前一部分) #my $name = defined $opt{name} ? $opt{name} : $user;
- 辞眸囤梦2022-05-28 03:33:18
- l.cf和webman.cf两个文件中的SYS_CRYPT_TYPE的值。这里需要注意,如果要修改为md5方式,请选择plain-md5,因为extmail官方解
- ドーナツ12022-05-28 01:00:25
- 修改269行,添加$info[4](4为name字段) $rv = adduser $info[0],$info[1],$info[2],$info[3],$info[4]; 130行下添加一行代码(自定义name字段) my $name = $_[4]; 234行
- 假欢千夜2022-05-28 06:33:41
- 0],$info[1],$info[2],$info[3],$info[4]; 130行下添加一行代码(自定义name字段) my $name = $_[4]; 234行下添加两行