0

メンバー用の zimbra メール サーバーがあり、すべてのメンバーには電子メール アドレスがあり、ワイヤレス ネットワークへのサインインなどのサービスを使用するために提供されます。メンバーシップは一時的なものです。半年ごとに新規会員と退会会員がいます。今のところ、.csv ファイルから情報をアップロードする現在のメンバーを作成しました。6 か月後、現在のメール アカウントを無効にし、新しいアカウントを追加する必要があります。

私がやりたいことは、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 に答える