У нас есть почтовый сервер zimbra для участников, и все участники имеют адреса электронной почты, которые мы даем им для использования наших услуг, таких как вход в беспроводную сеть и т. Д. Членство является временным. У нас будут новые и уходящие участники каждые шесть месяцев. На данный момент мы создали текущих участников, загружающих свою информацию из файла .csv. Через полгода нам придется отключить текущие почтовые аккаунты и добавить новые.
Я хочу выполнять эти задачи с помощью PHP. Я нашел несколько примеров на Вики-страница Zimbra. Они показывают, как создавать учетные записи для чтения из файлов .csv с помощью Perl.
#!/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};
}
Как я могу запустить эти команды zimbra с помощью файла PHP? Я хочу прочитать список из файла .csv и создать и / или отключить учетные записи на сервере.
Несколько лет назад мы разработали собственный интерфейс для управления аккаунтом Zimbra для версии 6.0.8. В то время поддержка мыла не была так хорошо документирована и требовала некоторых проб и ошибок.
Некоторые классы PHP доступны в Google code и GIThub.
Видеть http://www.plymouth.edu/webapp/code/zimbra.class.phps или https://github.com/libersoft/zcs-php