[5797] | 1 | #!/usr/bin/perl |
---|
| 2 | |
---|
| 3 | ################################################################# |
---|
| 4 | # Script que cria uma mailbox no cyrus, necessario pois o # |
---|
| 5 | # imapsync não faz isso automaticamente # |
---|
| 6 | # 20/03/09 - William (at) prognus.com.br # |
---|
| 7 | # Prognus Software Livre # |
---|
| 8 | # Baseado em: http://wiki.seduc.ce.gov.br/wiki/ # |
---|
| 9 | ################################################################# |
---|
| 10 | |
---|
| 11 | use Cyrus::IMAP::Admin; |
---|
| 12 | |
---|
| 13 | # |
---|
| 14 | # CONFIGURATION PARAMS |
---|
| 15 | # |
---|
| 16 | my $cyrus_server = "localhost"; |
---|
| 17 | my $cyrus_user = "expresso-admin"; |
---|
| 18 | my $usuario = "expresso-admin"; |
---|
| 19 | my $mechanism = "plain"; |
---|
| 20 | |
---|
| 21 | if (!$ARGV[0]) { |
---|
| 22 | die "Usage: $0 [expresso-admin password]\n"; |
---|
| 23 | } else { |
---|
| 24 | $cyrus_pass = "$ARGV[0]"; |
---|
| 25 | } |
---|
| 26 | |
---|
| 27 | print "Criando usuario: $usuario. \n"; |
---|
| 28 | criarMailbox($usuario,'INBOX'); |
---|
| 29 | criarMailbox($usuario,'Sent'); |
---|
| 30 | criarMailbox($usuario,'Trash'); |
---|
| 31 | criarMailbox($usuario,'Drafts'); |
---|
| 32 | criarMailbox($usuario,'Spam'); |
---|
| 33 | |
---|
| 34 | sub criarMailbox { |
---|
| 35 | |
---|
| 36 | my ($usuario, $mailbox) = @_; |
---|
| 37 | |
---|
| 38 | $cyrus = Cyrus::IMAP::Admin->new($cyrus_server) |
---|
| 39 | or die "Falha ao conectar com o servidor Cyrus"; |
---|
| 40 | $cyrus->authenticate($mechanism,'imap','',$cyrus_user,'0','10000',$cyrus_pass) |
---|
| 41 | or die "Falha ao autenticar"; |
---|
| 42 | |
---|
| 43 | if ($mailbox eq "INBOX") { |
---|
| 44 | $mailbox = "user/". $usuario; |
---|
| 45 | } |
---|
| 46 | else { |
---|
| 47 | $mailbox = "user/". $usuario ."/". $mailbox; |
---|
| 48 | } |
---|
| 49 | |
---|
| 50 | $cyrus->create($mailbox) |
---|
| 51 | } |
---|
| 52 | |
---|
| 53 | print "Usuário $user criado com sucesso. \n"; |
---|