程序位置:extman/tools
程序名:userctl.pl
修改userctl.pl——
注釋掉139行(默認(rèn)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方法可以自定義網(wǎng)盤(pán)空間和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)){
如果在批量導(dǎo)入時(shí),原始密碼已經(jīng)加密且不能獲取明文的情況下,可以這樣做——
首先,設(shè)置extmail的加密方式與原有的加密方式一直,需要修改webmail.cf和webman.cf兩個(gè)文件中的SYS_CRYPT_TYPE的值。這里需要注意,如果要修改為md5方式,請(qǐng)選擇plain-md5,因?yàn)閑xtmail官方解釋為md5和md5crypt都是md5crypt方式,32位的hex的md5必須選擇plain-md5。
然后,修改extman/libs/Ext/Mgr/MySQL.pm的302行,改為my $passwd = $opt{passwd}; ,不使用encrypt來(lái)加密。
命令舉例:
添加一個(gè)用戶——
./userctl.pl –mod=add –name=test1 –username=test@test.com –password=123456
參數(shù)有很多,可以執(zhí)行./userctl.pl來(lái)查看參數(shù),或直接看程序。
批量添加——
./userctl.pl –mod=badd –file=test.csv
文件可以是csv或者txt的。內(nèi)容為一行一個(gè)用戶:郵箱全名,密碼,郵箱空間MB,網(wǎng)盤(pán)空間MB,用戶名。
比如:zhangsan@test.com 123456 1000 500 張三
字段之間要用逗號(hào)或者空格,不能用如tab。如果用戶名是中文的話,需要保證文件時(shí)utf-8的編碼格式。在linux下編輯,如果是windows上傳的,需要dos2unix來(lái)轉(zhuǎn)。
刪除一個(gè)用戶——
./userctl.pl –mod=del –username=test@test.com –delmaildir=1
delmaildir=1的意思是刪除用戶的同時(shí),刪除此用戶的郵箱目錄。
批量刪除用戶——
./userctl.pl –mod=bdel –file=test.csv
test.csv中只保留username字段,否則會(huì)無(wú)法刪除。
文章來(lái)源:http://zhangxingnan.blog.51cto.com/3241217/1609266