Olá,
Eu estou precisando fazer uma rotina que faça o seguinte:
-
Pegue os anexos de todos os e-mails que estão na caixa “INBOX” da minha conta de e-mail e salve-os em um determinado diretório do meu HD…
-
…após salvar o anexo, deletar o e-mail.
…estou com dificuldades para utilizar o JavaMail, no entando, consegui fazer uma rotina que localiza esses e-mails, mas não baixa os anexos.
…alguém pode me ajudar???
Olá thiagokf,
Eu também tentei utilizar o JavaMail para isso sem sucesso. Iniciei o desenvolvimento de uma classe Mime Parser na marra, mas o problema é complicado.
O primeiro conceito, só para recordar, é que as mensagens de e-mail ou são simples (vamos chamar de RFC-822) ou são multiparte (vamos chamar de MIME).
As mensagens RFC-822 devem ser mostradas imediatamente.
As diversas partes de uma mensagem MIME podem conter texto, imagens, html, etc.
Os problemas a serem resolvidos neste caso são:
- destacar o cabeçalho RFC-822;
- extrair o separador multiparte;
- determinar o charset;
- converter todo o resto da mensagem para o charset interno;
- separar as partes (que podem ser aninhadas);
- determinar o tipo MIME de cada parte;
- determinar se o conteúdo é in-line (o tipo MIME text/plain sempre é);
- detrminar a codificação dos dados de cada parte (base64, por exemplo);
- efetuar decodificação de cada parte;
- chamar o codec apropriado para os tipos multimídia;
- aplicar o antivírus nas partes in-line;
- mostrar as partes in-line de acordo com o layout do seu tipo MIME;
- aplicar o antivírus nas outras partes;
- salvar as outras partes (os famosos anexos);
- gerar links para as outras partes.
O JavaMail deve ter tudo isso aí escondido em algum lugar. Acho que falta um tutorial maceteado.
A minha tentativa de fazer isso (apenas um dos arquivos) pode ser vista no link abaixo:
http://hipersoft.com.br/download/MIMEParser.java