Mover e-mail para uma pasta no Microsoft Exchange Server em Java

Aspose.Email for Java permite que você trabalhe com os serviços do Microsoft Exchange Server como e-mail, gerenciamento de contatos, calendário, etc. Em um post anterior, você viu como ler e-mails do MS Exchange Server programaticamente de dentro de seus aplicativos Java. No entanto, em certos casos, pode ser necessário mover emails de uma pasta para outra no Exchange Server. Neste artigo, você aprenderá como mover emails para uma pasta específica no MS Exchange Server em java.

API Java para mover emails no Microsoft Exchange Server

Aspose.Email for Java é uma API de e-mail poderosa para trabalhar com o MS Exchange Server sem escrever código complexo. Neste artigo, usaremos essa API para mover emails para uma pasta específica da caixa de correio no MS Exchange Server. Você pode baixar a API ou instalá-la usando as seguintes configurações do Maven.

Repositório:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>

Dependência:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-email</artifactId>
    <version>22.2</version>
    <classifier>jdk16</classifier>
</dependency>

Mover e-mail para uma pasta no MS Exchange Server em Java

A seguir estão as etapas para mover e-mails para uma pasta específica no MS Exchange Server em Java.

O exemplo de código a seguir mostra como mover um email para uma pasta no MS Exchange Server em Java.

try {
	// Crie uma instância da classe EWSClient 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) {
		if (msgInfo.getFrom().getAddress().contains("jhon.vick")) {
			String strMessageURI = msgInfo.getUniqueUri();

			// Copiar para uma pasta específica
			String newMessageUri = client.copyItem(strMessageURI, client.getMailboxInfo().getOutboxUri());
		}
	}
} catch (java.lang.RuntimeException ex) {
	System.out.println(ex.getMessage());
}

Mover novo e-mail para uma pasta no MS Exchange Server

Você também pode mover um e-mail recém-criado para uma pasta específica no MS Exchange Server. A seguir estão as etapas para realizar esta operação.

O exemplo de código a seguir mostra como mover uma nova mensagem de email para uma pasta no MS Exchange Server.

try {
	// Crie uma instância da classe EWSClient fornecendo credenciais
	IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser",
			"pwd", "domain");

	// Criar uma nova mensagem
	MailMessage message = new MailMessage("from@domain.com", "to@domain.com",
			"EMAILNET-34997 - " + UUID.randomUUID().toString(),
			"EMAILNET-34997 Exchange: Copy a message and get reference to the new Copy item");

	// Obter URI
	String messageUri = client.appendMessage(message);

	// Mover para a pasta
	String newMessageUri = client.copyItem(messageUri, client.getMailboxInfo().getDeletedItemsUri());
} catch (java.lang.RuntimeException ex) {
	System.out.println(ex.getMessage());
}

Obtenha uma licença de API gratuita

Você pode obter uma licença temporária gratuita para usar o Aspose.Email for Java sem limitações de avaliação.

Conclusão

Neste artigo, você aprendeu como mover emails para uma pasta específica no Microsoft Exchange Server usando Java. Além disso, você viu como mover uma mensagem de email recém-criada para uma pasta específica no Exchange Server. Além disso, você pode explorar a documentação para ler mais sobre o Aspose.Email para Java. Além disso, você pode fazer suas perguntas através do nosso fórum.

Veja também