JavaMail

Olá pessoal, estou desenvolvendo um sistema de emails, e estou com uma certa dificuldade, consigo somente listar os emails da Caixa de Entrada (INBOX), as demais pastas como “Caixa de Saída” ou “Lixeira” não consigo. Estou usando o seguinte código:

Properties props = new Properties(); Session session2 = Session.getDefaultInstance(props, null); Store store = session2.getStore("pop3"); store.connect(mailServer, loginWebmail, senhaWebmail); Folder folder = store.getFolder("INBOX"); folder.open(Folder.READ_ONLY); Message message[] = folder.getMessages(); Alguém tem alguma dica?

As outras caixas não podem ser listadas usando-se simplesmente POP3; apenas a caixa “INBOX” pode ser listada. :stuck_out_tongue:

Olá rmoraes, eu tava fazendo um programinha bem parecido com o seu, só que com a API commons, mas não connecta no servidor de Emails nem a pau.
Se você pudesse poderia me enviar seu cógido de conexão, se não for pedir muito é claro.
Desde já agradeço.

Email: giovanni_stiwes@yahoo.com.br

qual servidor de email estão usando…??

essa aplicação seria para uso de webmail…acessar pelo navegador…seria jsp ou desktop msm??

Olá thingol

Modifiquei o código informando ao invés de pop3, utillizei imap e também não funcionou. Tu terias algum exemplo de código listando o conteudo de outra caixa que não seja a inbox.

Agradeço.

Por favor,

 estou tentando montar um jsp que faça a leitura do INBOX para gravar em um banco de dados, porém não consigo ler a mensagem do corpo do email ... me retorna algo como

com.sun.mail.util.BASE64DecoderStream@116e5d6
com.sun.mail.util.BASE64DecoderStream@4b4b50
javax.mail.internet.MimeMultipart@13d9f80

alguém poderia me ajudar ???

segue meu código:

String host     = "host";
String username = "username";
String password = "password";

// Cria propriedades a serem usadas na sessão.
Properties props = new Properties();

// Define propriedades da sessão.
props.put("mail.store.protocol", "pop3");

// Cria sessão.
Session sessao = Session.getDefaultInstance(props);

// Conecta com servidor e acessa as mensagens.
try {
    // Cria conexão com o servidor.
    Store store = sessao.getStore("pop3");
    store.connect(host, username, password);
    
    // Acessa a caixa de mensagens em modo de escrita.
    // Isso é feito para poder definir o flag de deleção.
    Folder folder = store.getFolder("INBOX");
    folder.open(Folder.READ_WRITE);
    
    // Lê mensagens.
    Message message[] = folder.getMessages();
    
    String msg = "";
    
    for (int i=0, n=message.length; i<n; i++) {
        MimeMultipart mimemultipart = (MimeMultipart) message[i].getContent();
        
        out.println(i + ": Enviado por: <b>" + message[i].getFrom()[0] + "</b>(" + ((InternetAddress) message[i].getFrom()[0]).getAddress() + ")");
        out.println("<br>");
        out.println(i + ": Assunto: " + message[i].getSubject());
        out.println("<br>");
        out.println(i + ": Data de envio: " + String.valueOf(message[i].getSentDate()));
        out.println("<br>");
        out.println(i + ": Mensagem: ");
        out.println("<br>");
        
        msg = String.valueOf(mimemultipart.getBodyPart(mimemultipart.getCount() - 1).getContent());
        
        out.println(msg);
        out.println("<br>");
        out.println("<hr>");
        
        // Define flag de deleção da mensagem.
        //message[i].setFlag(Flags.Flag.DELETED, true);
    }
    
    // Fecha o folder apagando mensagens marcadas.
    folder.close(true);
    
    // Fecha conexão.
    store.close();
}catch(Exception e){
}