Microsoft Exchange Server é um servidor de e-mail que fornece e-mail, calendário, gerenciamento de contatos e outros serviços de colaboração. Ele pode ser facilmente conectado e acessado a partir de seus aplicativos da Web ou de desktop. Assim, você pode se comunicar com o Exchange Server e acessar e-mails, contatos, calendários, etc. Neste artigo, você aprenderá como se conectar ao MS Exchange Server e ler e-mails usando Java.
- API Java para trabalhar com o MS Exchange Server
- Conecte-se ao MS Exchange Server em Java
- Leia e-mails do MS Exchange Server em Java
- Obtenha uma licença de API gratuita
API Java para trabalhar com o MS Exchange Server
Aspose.Email for Java é uma API poderosa que oferece uma ampla variedade de recursos de gerenciamento de e-mail. Ele permite que você implemente clientes de e-mail ricos em recursos de dentro de seus aplicativos Java. Além disso, a API permite acessar pastas, subpastas, e-mails, calendários, contatos, etc. do MS Exchange Server. Você pode baixar o JAR da API ou instalá-lo usando as seguintes configurações do Maven.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-email</artifactId>
<version>21.2</version>
<classifier>jdk16</classifier>
</dependency>
Conecte-se ao MS Exchange Server em Java
Para trabalhar com o MS Exchange Server, você precisa estabelecer uma conexão primeiro. Aspose.Email para Java fornece as seguintes maneiras de se conectar a um Exchange Server.
- Usando o Serviço Web do Exchange (EWS)
- Usando o Internet Message Access Protocol (IMAP)
Conecte-se ao Exchange Server usando o EWS
A seguir estão as etapas para se conectar ao Exchange Server via EWS.
- Crie uma instância da classe IEWSClient.
- Use o método EWSClient.getEWSClient(String, String, String, String) para inicializar o objeto EWSClient.
O exemplo de código a seguir mostra como se conectar ao MS Exchange Server usando EWS em Java.
// Crie uma instância da classe IEWSClient para se conectar ao Exchange Server
IEWSClient client = EWSClient.getEWSClient("https://exchange.domain.com/ews/Exchange.asmx/", "user", "password", "");
Conecte-se ao Exchange Server usando IMAP
Antes de tentar se conectar ao Exchange Server usando IMAP, certifique-se de ter habilitado os serviços IMAP. Uma vez feito, a seguir estão as etapas para se conectar a um Exchange Server usando IMAP.
- Crie uma instância da classe ImapClient e inicialize-a com endereço, porta, nome de usuário e senha.
- Acesse mensagens, contatos, etc. usando o objeto ImapClient.
O exemplo de código a seguir mostra como se conectar ao Exchange Server usando IMAP.
// Conecte-se ao Exchange Server usando a classe ImapClient
ImapClient imapClient = new ImapClient("imap.gmail.com", 993, "username", "password");
Leia e-mails do MS Exchange Server em Java
Depois de se conectar ao Exchange Server, você pode ler as mensagens do servidor. Você pode fazer isso usando EWS ou IMAP.
Leia e-mails do MS Exchange Server usando o EWS
A seguir estão as etapas para ler emails do Exchange Server usando o EWS.
- Crie uma instância da classe IEWSClient.
- Use o método EWSClient.getEWSClient(String, String, String, String) para inicializar o objeto EWSClient.
- Obtenha uma lista de informações de mensagens da caixa de entrada para o objeto ExchangeMessageInfoCollection usando o método EWSClient.listMessages(EWSClient.getMailboxInfo().getInboxUri()).
- Percorra cada objeto ExchangeMessageInfo na coleção para ler a mensagem.
O exemplo de código a seguir mostra como ler mensagens do Exchange Server via EWS em Java.
// Crie uma instância da classe ExchangeWebServiceClient fornecendo credenciais
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
// Chame o método ListMessages para listar as informações das mensagens da caixa de entrada
ExchangeMessageInfoCollection msgCollection = client.listMessages(client.getMailboxInfo().getInboxUri());
// Percorra a coleção para obter o URI da mensagem
for (ExchangeMessageInfo msgInfo : msgCollection) {
String strMessageURI = msgInfo.getUniqueUri();
// Agora obtenha os detalhes da mensagem usando FetchMessage()
MailMessage msg = client.fetchMessage(strMessageURI);
// Exibir detalhes da mensagem
System.out.println("Subject: " + msg.getSubject());
//Console.WriteLine("Corpo HTML: " + msg.HtmlBody);
// Quantos anexos
System.out.println("Number of attachments: " + msg.getAttachments().size());
// Liste os anexos
for (Attachment att : msg.getAttachments()) {
System.out.println("Attachment Name: " + att.getName());
}
}
Leia e-mails do MS Exchange Server usando IMAP
A seguir estão as etapas para ler emails do Exchange Server usando IMAP.
- Crie uma instância da classe ImapClient e inicialize-a com endereço, porta, nome de usuário e senha.
- Obtenha a lista de informações da mensagem no objeto ImapMessageInfoCollection usando o método ImapClient.listMessages().
- Percorra cada objeto ImapMessageInfo na coleção para ler os emails.
O exemplo de código a seguir mostra como ler emails do Exchange Server via IMAP usando Java.
// Conecte-se ao Exchange Server usando a classe ImapClient
ImapClient imapClient = new ImapClient("imap.gmail.com", 993, "username", "password");
// Selecione a pasta Caixa de entrada
imapClient.selectFolder(ImapFolderInfo.IN_BOX);
// Obter a lista de mensagens
ImapMessageInfoCollection msgCollection = imapClient.listMessages();
for (ImapMessageInfo msgInfo : msgCollection) {
System.out.println(msgInfo.getSubject());
}
Obtenha uma licença de API gratuita
Você pode experimentar o Aspose.Email for Java sem limitações de avaliação obtendo uma licença temporária.
Demonstração ao vivo
Conclusão
Neste artigo, você aprendeu como se conectar ao MS Exchange Server e ler e-mails usando Java. Além disso, você viu como acessar o MS Exchange Server usando EWS ou IMAP. Você pode explorar mais sobre o Aspose.Email para Java usando documentação. Caso você tenha alguma dúvida ou pergunta, sinta-se à vontade para nos informar através do nosso fórum.