0

我们为会员提供了一个 zimbra 邮件服务器,所有会员都有我们提供给他们的电子邮件地址,以便他们使用我们的服务,例如登录无线网络等。会员资格是临时的。我们将每六个月有新成员和离开成员。现在我们已经创建了当前成员,从 .csv 文件上传他们的信息。六个月后,我们将不得不禁用当前邮件帐户并添加新帐户。

我想做的是使用 PHP 完成这些任务。我在Zimbra 的 wiki 页面上找到了一些示例。他们展示了如何使用 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 文件中读取列表并在服务器上创建和/或禁用帐户。

4

1 回答 1

0

使用 Zimbra 登录 su - zimbra

使用 zimbra 命令创建 php 文件。

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

shell_exec('/opt/zimbra/bin/');

例如,

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

然后使用添加 cron 作业crontab -e

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

于 2014-11-02T21:40:45.810 回答