A maioria dos provedores de e-mail, como Gmail, Hotmail e outros fornecer acesso POP ou IMAP para sua caixa postal para que você possa fazer download de mensagens para um cliente de email como o Microsoft Outlook. Faça isso a partir do seu programa baseado em Java com a ajuda da API JavaMail. Você também vai usar o Eclipse para desenvolvedores Java IDE para tornar acessíveis as bibliotecas mais fácil, mas se você está confortável usando o Java Development Kit (JDK), você não tem que usar um IDE.
Coisas que você precisa
- Eclipse para desenvolvedores Java IDE
- Java Runtime Environment versão 6 ou superior
Preparação
Baixe e instale o Eclipse para desenvolvedores Java IDE. Você estará usando Eclipse para escrever o seu código Java e instalar a biblioteca JavaMail.
Navegue até a casa JavaMail na Oracle Technology Network e clique no azul "baixar" botão no meio da página para obter a versão 1.4.3. Clique no "Concordou com o Contrato de Licença JavaMail" caixa de seleção e clique "Continuar." Clique no "javamail-1.4.3.zip" ligação. Optar por salvar o arquivo em vez de abri-lo.
descompacte o "javamail-1.4.3.zip" arquivo clicando duas vezes nele. Lembre-se do local em que descompactou para.
Abra o Eclipse. Clique "Arquivo," então "Novo" então "Projeto Java." Digitar "GetMessage" como o nome do projeto e clique "Terminar."
Clique no "GetMessage" pasta no Package Explorer - a barra de ferramentas do lado esquerdo; -e selecione "Propriedades."
Clique "Caminho de Construção Java" à esquerda, em seguida, clique no "Add External JARs ..." botão do lado direito. Navegue até a descompactado "javamail-1.4.3" pasta e clique "mail.jar." Clique "Está bem" e "Está bem" mais uma vez.
buscar e-mail
Clique no "GetMessage" projeto no Eclipse, e selecione "Novo" então "Classe." Digitar "Receber mensagens" como o nome e clique em "Terminar."
Selecione todo o código na janela de GetMail.java e copiar e colar o seguinte código Java em seu lugar:
import java.io. *;
java.util.Properties de importação;
importar javax.mail. *;
importação javax.mail.internet. *;
classe pública GetMail {
void main (args String []) public static throws Exception {
contras console = System.Console ();
// Obter servidor e informações de login
System.out.print ("host de correio: ");
acolhimento String = cons.readLine ();
System.out.print ("Nome de usuário: ");
Cordas username = cons.readLine ();
System.out.print ("Senha: ");
password String = new String (cons.readPassword ());
// Sessão de correio Setup
Propriedades props = new Properties ();
Session session = Session.getDefaultInstance (adereços, null);
// Faz conexão
store = session.getStore ("imaps");
store.connect (host, nome de usuário, senha);
// Obter pasta e mensagens
pasta pasta = store.getFolder ("INBOX");
folder.open (Folder.READ_ONLY);
Mensagem Mensagem [] = folder.getMessages ();
// Verificar o correio
for (int i = message.length-1- IGT; = 0- i--) {
System.out.println (i + ": " + Message [i] .getFrom () [0]
+ " t" + Message [i] .getSubject ());
System.out.println ("Ler mensagem? [YES para ler / SAIR para final]");
linha String = cons.readLine ();
E se ("SIM".equals (linha)) {
System.out.println (message [i] .getContent ());
// Note, se MimeMultipart, não exibirá automaticamente o texto da mensagem
} Else if ("SAIR".equals (linha)) {
pausa;
}
}
// Fechar coisas fora
folder.Close (false);
store.close () -
}
}
Aperte o botão play verde para executar o código.
Insira o host de email do provedor para acessar a sua caixa de correio. Para Gmail, por exemplo, isso seria imap.gmail.com para o servidor.
Entre com seu nome de usuário. Normalmente, este é o nome completo, como [email protected], e não apenas a parte do nome. Verifique com seu provedor para fins específicos.
Coloque sua senha. Desde a chamada readpassword () para o console do sistema é usado, ele não vai ecoar na tela quando entrou.
Entrar "SIM" se você quiser ler cada mensagem.
Entrar "SAIR" para finalizar o programa, ou ele vai acabar automaticamente quando você passar a mensagem mais antiga. Quando o programa terminar, ele fecha o read-only ligação à caixa de correio.