如何使用php创建/禁用/删除zimbra帐户?

时间:2014-08-12 09:14:28

标签: php perl zimbra

我们为会员提供了一个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文件中读取列表,并在服务器上创建和/或禁用帐户。

1 个答案:

答案 0 :(得分:0)

使用su - zimbra

以Zimbra身份登录

使用zimbra命令创建php文件。

使用php执行zimbra命令时,请使用

了shell_exec( '/选择/ Zimbra的/ bin中/');

例如,

shell_exec('/opt/zimbra/bin/zmprov sp lahirutm@abcd.com 123@com ');

然后使用crontab -e

添加cron作业

*/1 * * * * php /var/www/phpfile.php