Sisyphus repositório
Última atualização: 1 outubro 2023 | SRPMs: 18631 | Visitas: 37747771
en ru br
ALT Linux repositórios
S:3.2.8-alt1
5.0: 2.3.13-alt3
4.1: 2.3.13-alt1.M41.1
4.0: 2.3.16-alt0.M40.1
+backports:2.3.11-alt0.M40.1
3.0: 2.2.12-alt3

Group :: Sistema/Servidores
RPM: cyrus-imapd

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs e FR  Repocop 

#!/usr/bin/perl -w
#
# imapcreate: create IMAP mailboxes with quotas
# Reads user names from standard input.

use Getopt::Long;
use Cyrus::IMAP::Admin;

sub usage {
print "imapcreate - create IMAP mailboxes with quotas\n";
print " usage:\n";
print " imapcreate [-u user] [-p pass] [-q quota] [-t partition:list]\n";
print " <server>\n";
print "\n";
print " example: \n";
print " imapcreate -u cyradm -q 50000 -t p1:p2 mail.testing.umanitoba.ca\n";
print "\n";
exit 0;
}

my $debug = 1; # XXX
my $user;
my $pass;
my $quota;
my @part;
GetOptions("u|user=s" => \$user, "p|pass=s" => \$pass, "q|quota=i" => \$quota,
"t|part=s" => \@part);
@part = split(/:/, join(':', @part));
push @part, 'default' unless @part;
my $pn = 0;

$server = shift(@ARGV) if (@ARGV);

usage unless $server;

# Authenticate
my $cyrus = Cyrus::IMAP::Admin->new($server);
$cyrus->authenticate(-mechanism => 'login', -user => $user,
-password => $pass);
die $cyrus->error if $cyrus->error;

# For all users
while (<>) {
chomp;
my $mbox = 'user.' . $_;

# Select the partition
my $pt = $part[$pn];
$pn += 1;
$pn = 0 unless $pn < @part;

# Create the account
print STDERR "Creating $mbox on $pt\n" if $debug;
if ($pt eq 'default') {
$cyrus->createmailbox($mbox);
}
else {
$cyrus->createmailbox($mbox, $pt);
}
warn $cyrus->error if $cyrus->error;

# Set the quota
if ($quota) {
print STDERR "Setting quota for $mbox to $quota\n" if $debug;
$cyrus->setquota($mbox, 'STORAGE', $quota);
warn $cyrus->error if $cyrus->error;
}
}

 
projeto & código: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
mantenedor atual: Michael Shigorin
mantenedor da tradução: Fernando Martini aka fmartini © 2009