Ir para o conteúdo
ou

Software livre Brasil

Tela cheia
 Feed RSS

Blog

27 de Maio de 2009, 0:00 , por Software Livre Brasil - | Ninguém está seguindo este artigo ainda.

Baixando mensagens do IMAP (com Lixeira, Enviados e demais pastas)

3 de Março de 2011, 0:00, por Software Livre Brasil - 0sem comentários ainda

Tive que estudar uma solução para atender uma demanda de cliente na Quijaua [1]: a migração de mensagens de um servidor de terceiros onde o acesso é por webmail, imap, pop e smtp.

Inicialmente tentei baixar as mensagens com fetchmail [2] e procmail [3], com saída Maildir, e atendeu uma parte da demanda. Mas faltava baixar as mensagens enviados e da lixeira, nisso o fetchmail não dá conta, pelo menos até onde fui em minha pesquisa. Então vi outras soluções como retchmail [4] e getmail [5], mas num estudo básico não resolveu meu problema. Foi onde encontrou a solução completa com IMAP Grab [6]. Na real o IMAP Grab usa getmail por baixo ;) mas de uma forma simples encontrei a solução do problema.

A solução consiste em fazer cópia das mensagens visualizadas por imap, nisso se faz necessário saber como é a organização das pastas no servidor alvo. Pelo IMAP Grab é possível saber com a linha:

python imapgrab.py -l -s imap.salomon.net -u menelik@makkeda.net -p egito4fr1c4


e listou "INBOX.sent-mail" e "INBOX". O software para webmail usando no servidor alvo é o Horde3 [7] e eles organiza as mensagem apagadas como oculta e não removida para outra pasta, então precisou só baixar as duas pastas com o comando:

python imapgrab.py -d -s imap.salomon.net -u menelik@makkeda.net -p egito4fr1c4 -M -m "INBOX.sent-mail, INBOX"


As mensagens ficaram nas pastas imapgrab/{INBOX,INBOX.sent-mail}.

Eu uso a solução iRedMail [8] num servidor Debian. O software para webmail é o RoundCube [9] e ele organizar as pastas de fora diferente do Horde3, mas como baixei as mensagens como Maildir [10], facilitou a migração das mensagens e então fiz assim:

rm /var/vmail/vmail1/makkeda.net/menelik/Maildir/.Sent/new -fr
rm /var/vmail/vmail1/makkeda.net/menelik/Maildir/new -fr

cp -r /home/banto/imapgrab/INBOX.sent-mail/new  /var/vmail/vmail1/makkeda.net/menelik/Maildir/.Sent

cp -r /home/banto/imapgrab/INBOX/new /var/vmail/vmail1/makkeda.net/menelik/Maildir

chown -R vmail\: /var/vmail/vmail1/makkeda.net/menelik/Maildir/

E resolvido ;)

É possível baixar mensagens de qualquer servidor web com suporte a IMAP, como o do GMail ;) pelo IMAP Grab. Eu usei a versão linha de comando pois a operação é remota, mas quem quiser baixar em sua máquina local e usar uma interface gráfica é possível usar ele numa versão com interface gráfica. Só instalar a biblioteca GTK para Python e executar o arquivo imapgrab-gui.py.

Abraços!
.bp


[1] http://www.quijaua.com.br
[2] http://www.fetchmail.info/
[3] http://www.procmail.org/
[4] http://freshmeat.net/projects/retchmail/
[5] http://pyropus.ca/software/getmail/
[6] http://daylightpirates.org/index.php/Programs/ImapGrab
[7] http://www.horde.org/
[8] http://www.iredmail.org
[9] http://www.roundcube.net
[10] http://www.courier-mta.org/maildir.html



erro de acesso no information_schema

26 de Janeiro de 2011, 0:00, por Software Livre Brasil - 0sem comentários ainda

Começou dar um erro em no automysqlbackup: "mysqldump: Got error: 1044: Access denied for user 'root'@'localhost' to database 'information_schema' when using LOCK TABLES"... como esse banco não é importante para o que quero manter sempre com cópia de segurança, configurei o software para não exportar ele... com o parametro/valor -> DBEXCLUDE="information_schema"



erro no libxml

4 de Dezembro de 2010, 0:00, por Software Livre Brasil - 0sem comentários ainda

Não sei o que compilei errado, mas começo voltar um erro "update-mime-database: symbol lookup error: /usr/lib/libxml2.so.2: undefined symbol: gzopen64" depois de dar um "apt-get upgrade". E alguns aplicativos que depende do libxml funcionavam mal ou não funcionava.

Navegando pela net não achei algo que me levasse direto para a solução, mas em tentativas e erros, resolvi o problema olhando a mensagem de erro do mysql que apontava falha na biblioteca libz.so.1. Percebi que a mesma biblioteca tava em /usr/local/lib/ e /usr/lib/... provavelmente o primeiro caminho foi por conta de algum experiência e o segundo é padrão do pacote zlib1g (no debian lenny)... o lance é que a primeira estava como padrão, então resolvi remover a primeira e configura a segunda como padrão e deu certo!

rm /usr/local/lib/libz.so.1
rm /usr/local/lib/libz.so.1.2.3
cd /usr/lib
ldconfig