我们为会员提供了一个zimbra邮件服务器,所有会员都有电子邮件地址,我们让他们使用我们的服务,如登录无线网络等。会员资格是暂时的。我们每六个月会有新成员和离职成员。目前,我们已经创建了当前成员从.csv文件上传其信息。六个月后,我们将不得不禁用当前的邮件帐户并添加新帐户。
我想要做的是使用PHP完成这些任务。我在Zimbra's wiki page找到了一些例子。它们展示了如何使用Perl创建从.csv文件读取的帐户。
#!/usr/bin/perl
# Lookup the valid COS (Class of Service) ID in the interface or like this
my $cosid = `su - zimbra -c 'zmprov gc Default |grep zimbraId:'`;
$cosid =~ s/zimbraId:\s*|\s*$//g;
while (<>) {
chomp;
# CHANGE ME: To the actual fields you use in your CSV file
my ($email, $password, $first, $last) = split(/\,/, $_, 4);
my ($uid, $domain) = split(/@/, $email, 2);
print qq{ca $uid\@$domain $password\n};
print qq{ma $uid\@$domain zimbraCOSid "$cosid"\n};
print qq{ma $uid\@$domain givenName "$first"\n};
print qq{ma $uid\@$domain sn "$last"\n};
print qq{ma $uid\@$domain cn "$uid"\n};
print qq{ma $uid\@$domain displayName "$first $last"\n};
print qq{ma $uid\@$domain zimbraPasswordMustChange TRUE\n};
print qq{\n};
}
如何使用PHP文件运行这些zimbra命令?我想从.csv文件中读取列表,并在服务器上创建和/或禁用帐户。
答案 0 :(得分:0)
使用su - zimbra
使用zimbra命令创建php文件。
使用php执行zimbra命令时,请使用
了shell_exec( '/选择/ Zimbra的/ bin中/');
例如,
shell_exec('/opt/zimbra/bin/zmprov sp lahirutm@abcd.com 123@com ');
然后使用crontab -e
*/1 * * * * php /var/www/phpfile.php