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

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.

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.

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.

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.

Veja também