Alguém pode me dar uma luz?
Eu to com o seguinte código:
package com.damasceno.frames;
import javax.swing.GroupLayout;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JScrollPane;
import javax.swing.LayoutStyle;
import com.damasceno.conexao.conectar;
import com.sun.xml.internal.fastinfoset.sax.Properties;
import com.swtdesigner.SwingResourceManager;
public class FramePrincipal extends JFrame {
private JList list;
String host = "pop.gmail.com";
public FramePrincipal() {
super();
setIconImage(SwingResourceManager.getImage(FramePrincipal.class, "/com/sun/java/swing/plaf/windows/icons/Computer.gif"));
setTitle("Projeto CATHO");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JScrollPane scrollPane;
scrollPane = new JScrollPane();
list = new JList();
scrollPane.setViewportView(list);
final GroupLayout groupLayout = new GroupLayout((JComponent) getContentPane());
groupLayout.setHorizontalGroup(
groupLayout.createParallelGroup(GroupLayout.Alignment.LEADING)
.addGroup(groupLayout.createSequentialGroup()
.addGap(33, 33, 33)
.addComponent(scrollPane, GroupLayout.PREFERRED_SIZE, 425, GroupLayout.PREFERRED_SIZE)
.addContainerGap(34, Short.MAX_VALUE))
);
groupLayout.setVerticalGroup(
groupLayout.createParallelGroup(GroupLayout.Alignment.LEADING)
.addGroup(groupLayout.createSequentialGroup()
.addGap(29, 29, 29)
.addComponent(scrollPane, GroupLayout.PREFERRED_SIZE, 254, GroupLayout.PREFERRED_SIZE)
.addContainerGap(58, Short.MAX_VALUE))
);
getContentPane().setLayout(groupLayout);
pack();
//
}
}
O que faltaria implementar para listar os emails em uma Jlist de um JFrame?
Estou usando Eclipse 3.3 + Plugin: WindowBuilder.
Obrigado.
Falta muita coisa. Você tem bastante tempo para ler o manual do JavaMail?
É bastante coisa que você precisa saber - acho que é coisa demais.
Você só precisa dos “subjects” (títulos) dos emails, ou precisa visualizá-los? Ou você precisa varrer emails para ver o seu conteúdo?
Eu mesmo acho que é mais fácil você disparar um leitor de email como o Outlook ou o Thunderbird, em vez de tentar criar o seu próprio leitor de emails.
Esse é meu JFrame…
Como eu ti falei eu preciso exibir em uma JList minha caixa de entrada.
Eu quero exibir o "titulo do e-mail, e quem enviou… Dai quando eu clicar “Ver relatorios” ele abrir pelo jasper.
To usando mock-javamail.jar, e o javamail.jar, eu criei uma classe chamada teste, no package: conexao
e tem o package Frames, que contem a classe FramePrincipal ( essa que eu colei )
A classe teste, está assim:
package com.damasceno.conexao;
import java.util.Properties;
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Store;
import com.sun.org.apache.bcel.internal.generic.POP;
public class conectar {
public static void main(String[] args) throws Exception {
String host = “pop.hp.org”;
String username = "selecao@hp.org";
String password = “hp123”;
// Create empty properties
Properties props = new Properties();
// Get session
Session session = Session.getDefaultInstance(props, null);
// Get the store
Store store = session.getStore("pop3");
store.connect(host, username, password);
// Get folder
Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_ONLY);
// Get directory
Message message[];
message = folder.getMessages();
for (int i=0, n=message.length; i<n; i++) {
System.out.println(i + ": " + message[i].getFrom()[0]
+ "\t" + message[i].getSubject());
}
// Close connection
folder.close(false);
store.close();
}
}
O relatório está sendo anexado em formato PDF ao email? Você precisa pelo menos aprender a pegar arquivos anexados. Talvez você precise do Jakarta Apache Commons-Email além do Javamail, já que qualquer coisa que seja diferente de analisar um texto puro e bobo é difícil de fazer em Javamail sem você ler um monte de documentação (por exemplo, RFCs sobre padrão MIME, MHTML ou outras coisas).
Hum…
Mas, é melhor fazer por partes…
Por exemplo, este é o meu código ( o que colei anteriormente ), ele contem algum erro?
Primeiro quero fazeer listar os e-mails na Jlist, depois penso neste botão “ver relatorios” e depois ainda tenho que colocar um JTextField e um button “Busca” pra buscar alguma palavra no e-mail, ex: no e-mail tem a palavra: administração
ai quando eu digitar administração vai selecionar os e-mails na Jlist que contem isso…
Mas primeiramente, tenho que fazer aparecer na Jlist…
Pode me ajudar?
Swing não é exatamente meu forte, e sou péssimo para ler os programas de outras pessoas (nem os meus próprios programas consigo entender, depois de algum tempo, se não estiverem cheios de comentários decentes). De qualquer maneira, a documentação de JList indica como é que se pode acrescentar um item a uma JList:
JList.getModel()
DefaultListModel.addElement
Bem, eu to neste codigo:
package com.damasceno.conexao;
import java.util.Properties;
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Store;
import javax.swing.JOptionPane;
import com.sun.org.apache.bcel.internal.generic.POP;
public class conectar {
public static void main(String[] args) throws Exception {
String host = “mail.infocom.br”;
String username = "teste@cathoalagoas.com.br;
String password = “cathoteste”;
// Create empty properties
try {
Properties props = new Properties();
// Get session
Session session = Session.getDefaultInstance(props, null);
// Get the store
Store store = session.getStore("pop");
store.connect(host, username, password);
// Get folder
Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_WRITE);
// Get directory
Message message[];
message = folder.getMessages();
for (int i=0, n=message.length; i<n; i++) {
System.out.println(i + ": " + message[i].getFrom()[2] + message[i].getSubject());
}
// Close connection
folder.close(false);
store.close();
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "ERRO");
}
}
}
E entra no bloco catch informando a msg de ERRO, alguém sabe porque? ;/
a) Uma técnica que uso muito (há décadas) é a seguinte: se há alguma coisa que é um pouco mais complicada, não me preocupo nem um pouco com a interface gráfica. Crio primeiro uma versão do programa em modo console, bem pelada e com os dados bem “chumbados”, para poder ver se estou fazendo as coisas direito. Depois que tudo está pronto, aí transfiro para a parte gráfica. Isso costuma funcionar bem porque muitas vezes eu não tenho acesso nem a um debugger, como é o caso de tentar resolver um problema “em produção”.
No seu caso, em vez disto aqui:
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "ERRO");
}
você pode mandar imprimir seu “stack trace” em algum lugar, desta maneira:
} catch (Exception e) {
e.printStackTrace();
}
Do jeito que você fez, não dá para saber bulhufas o que ocorreu.
E tente rodar o seu programa com um debugger (uma IDE como o Eclipse ou NetBeans) e ponha um breakpoint nesse e.printStackTrace() para ver o que ocorreu.
tá dando o erro de athentication :
javax.mail.AuthenticationFailedException: authorization failed
at com.sun.mail.pop3.POP3Store.protocolConnect(POP3Store.java:159)
at javax.mail.Service.connect(Service.java:288)
at javax.mail.Service.connect(Service.java:169)
at com.damasceno.conexao.conectar.main(conectar.java:30)
Porém não sei porque, se senha, login e servidor pop tão corretos 
Será que é porque falta a PORTA?
O GMail é encrencado para conectar. Com ele você tem de usar mais alguns parâmetros. Veja este post (é a segunda vez, hoje, que tenho de ajudar alguém com o GMail:)
http://www.guj.com.br/posts/list/35431.java
Não cara, não é da gmail o e-mail, é da cathoalagoas, é uma empresa… eu tenho servidor pop, smtp e tudo mais… gmail foi só um exemplo…
Entendeu?
É que você, no seu primeiro programa, tinha escrito “gmail”. Conectar-se ao Gmail precisa daquelas palavras mágicas do tipo “Harry Potter”; quanto ao seu servidor de email corporativo, você precisa ver que tipo de autenticação é necessário.
Alguns não aceitam só usuário e senha, como você está tentando, requerendo um esquema bem mais complexo.
Veja se você consegue acessar a tal caixa com um leitor de email não muito cheio de frescuras, como o Thunderbird. Se não conseguir, então você tem de usar algum outro servidor, porque o MS Exchange (que normalmente é o servidor usado em empresas) é meio encrencado de usar com o JavaMail.
Vou ver o que consigo com este Thunderbird…
Nunca tinha ouvido falar antes, não sei nem onde baixa, mas vou à procura… 
mas eu ainda acho que tem algod e errado no meu codigo, lá aceita javamail, quase certeza 