equal
deleted
inserted
replaced
|
1 |
|
2 sub createMbox($) { |
|
3 my $user = shift; |
|
4 my $mbox = "user/$user"; |
|
5 |
|
6 verbose(" imap:"); |
|
7 my $imap = connectImap(); |
|
8 |
|
9 $imap->setacl($mbox, $Cf->imap_admin => "lrswipcda"); |
|
10 if ($imap->list($mbox)) { |
|
11 verbose("(exists)"); |
|
12 } else { |
|
13 $imap->create($mbox) or die ":$@: $mbox\n"; |
|
14 $imap->setquota($mbox, STORAGE => 1024 * $Cf->imap_quota) or die ":$@: $mbox\n"; |
|
15 } |
|
16 verbose("ok"); |
|
17 |
|
18 } |
|
19 |
|
20 sub removeMbox($) { |
|
21 my $user = shift; |
|
22 my $mbox = "user/$user"; |
|
23 verbose(" imap:"); |
|
24 my $imap = connectImap(); |
|
25 |
|
26 $imap->setacl($mbox, $Cf->imap_admin, "rc"); |
|
27 |
|
28 if (not $imap->exists($mbox)) { |
|
29 verbose("does not exist"); |
|
30 } else { |
|
31 $imap->delete($mbox) or die "$@"; |
|
32 } |
|
33 verbose("ok"); |
|
34 } |
|
35 |
|
36 |
|
37 sub connectImap() { |
|
38 my $imap = new Cyrus::IMAP::Admin($Cf->imap_server) or die "$@"; |
|
39 $imap->authenticate(-user => $Cf->imap_admin, |
|
40 -password => $ENV{IMAP_PASS} || askPass("IMAP (" . $Cf->imap_admin .") password: ")); |
|
41 |
|
42 return $imap; |
|
43 } |
|
44 |