1 | #!/usr/bin/perl -w
|
---|
2 |
|
---|
3 | # Author: <joao.alfredo@gmail.com>
|
---|
4 |
|
---|
5 | use Cyrus::IMAP::Admin;
|
---|
6 |
|
---|
7 | #
|
---|
8 | # CONFIGURATION PARAMS
|
---|
9 | #
|
---|
10 | my $cyrus_server = "localhost";
|
---|
11 | my $cyrus_user = "expresso-admin";
|
---|
12 | my $user = "expresso-admin";
|
---|
13 | my $mechanism = "login";
|
---|
14 |
|
---|
15 | if (!$ARGV[0]) {
|
---|
16 | die "Usage: $0 [expresso-admin password]\n";
|
---|
17 | } else {
|
---|
18 | $cyrus_pass = "$ARGV[0]";
|
---|
19 | }
|
---|
20 |
|
---|
21 | print "Criando usuario: $user. \n";
|
---|
22 | createMailbox($user,'INBOX');
|
---|
23 | createMailbox($user,'Enviados');
|
---|
24 | createMailbox($user,'Lixeira');
|
---|
25 | createMailbox($user,'Rascunhos');
|
---|
26 | sub createMailbox {
|
---|
27 |
|
---|
28 | my ($user, $subfolder) = @_;
|
---|
29 |
|
---|
30 | my $cyrus = Cyrus::IMAP::Admin->new($cyrus_server);
|
---|
31 | $cyrus->authenticate($mechanism,'imap','',$cyrus_user,'0','10000',$cyrus_pass);
|
---|
32 |
|
---|
33 | if ($subfolder eq "INBOX") {
|
---|
34 | $mailbox = "user.". $user;
|
---|
35 | } else {
|
---|
36 |
|
---|
37 | # Na linha abaixo, o valor entre " é o delimitador do imap. Geralmente "." ou "/".
|
---|
38 |
|
---|
39 | $mailbox = "user.". $user .".". $subfolder;
|
---|
40 | }
|
---|
41 |
|
---|
42 | $cyrus->create($mailbox);
|
---|
43 | if ($cyrus->error) {
|
---|
44 | print STDERR "Error: ", $mailbox," ", $cyrus->error, "\n";
|
---|
45 | } else {
|
---|
46 | print "Mailbox $mailbox criada com êxito.\n";
|
---|
47 | }
|
---|
48 |
|
---|
49 | }
|
---|