Lendo e-mails

Olá pessoal…

Gostaria de saber qual a melhor forma de eu poder ler e-mails, eu vi sobre as APIs javamail, e a commons email… pois bem, fiz uns testes com a javamail, achei uns códigos num forúm, só que não consigo ler os anexos, como eu poderia fazer isso?

Vou postar meu código ai que faço a leitura dos e-mails…

[code]/*

  • Ler.java
  • Created on 26/10/2008, 18:20:29
    */

package email;

import javax.mail.Store;
import java.io.IOException;
import java.util.Properties;
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.internet.InternetAddress;

/**
*

  • @author Thiago
    */
    public class Ler {

    public Ler() {
    try {
    recebeMSG();
    } catch(Exception e) {
    e.printStackTrace();
    }
    }

    public void recebeMSG() throws MessagingException {

     Properties props = new Properties();
     props.put("mail.pop3.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
     props.put("mail.pop3.socketFactory.fallback", "false");
     props.put("mail.store.protocol", "pop3");
    
     Session session = Session.getDefaultInstance(props,null);
     Store store = session.getStore("pop3");
     
     //Estabelece conexão
     store.connect("pop.gmail.com",995, "EMAIL@GMAIL.COM", "SENHA");
     
     //Obtem a pasta e a abre
     Folder folder = store.getFolder("INBOX");
     folder.open(Folder.READ_ONLY);
     
     //Obtem mensagens
     Message msg[] = folder.getMessages();
     
     for (int i = 0; i < msg.length; i++){
         try {
             System.out.println("MENSAGEM:" + i);
             System.out.println("NOME: " + ((InternetAddress) msg[i].getFrom()[0]).getPersonal() + "\n" +
                                "FROM: " + ((InternetAddress) msg[i].getFrom()[0]).getAddress());
             System.out.println("DATA DE ENVIO: " + msg[i].getSentDate());
             System.out.println("ASSUNTO "+msg[i].getSubject());
             System.out.println("CONTEUDO " +msg[i].getContent());
             System.out.println("FIM DA MENSAGEM: " + i);
         } catch (MessagingException ex) {
             ex.printStackTrace();
         } catch (IOException ex) {
             ex.printStackTrace();
         }
     }
            
     folder.close(false);
     store.close();
    

    }

    public static void main(String[] args) {
    new Ler();
    }

}[/code]