Mover correo electrónico a una carpeta en Microsoft Exchange Server en Java

Aspose.Email for Java te permite trabajar con los servicios de Microsoft Exchange Server como correo electrónico, gestión de contactos, calendario, etc. En una publicación anterior, has visto cómo leer correos electrónicos de MS Exchange Server mediante programación desde dentro de sus aplicaciones Java. Sin embargo, en ciertos casos, es posible que deba mover correos electrónicos de una carpeta a otra en Exchange Server. En este artículo, aprenderá cómo mover correos electrónicos a una carpeta particular en MS Exchange Server en Java.

API de Java para mover correos electrónicos en Microsoft Exchange Server

Aspose.Email for Java es una poderosa API de correo electrónico para trabajar con MS Exchange Server sin escribir código complejo. En este artículo, usaremos esta API para mover correos electrónicos a una carpeta específica del buzón en MS Exchange Server. Puede descargar la API o instalarla usando las siguientes configuraciones de Maven.

Repositorio:

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

Dependencia:

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

Mover correo electrónico a una carpeta en MS Exchange Server en Java

Los siguientes son los pasos para mover correos electrónicos a una carpeta en particular en MS Exchange Server en Java.

El siguiente ejemplo de código muestra cómo mover un correo electrónico a una carpeta en MS Exchange Server en Java.

try {
	// Cree una instancia de la clase EWSClient proporcionando credenciales
	IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser",
			"pwd", "domain");

	// Llame al método ListMessages para enumerar la información de los mensajes de la Bandeja de entrada
	ExchangeMessageInfoCollection msgCollection = client.listMessages(client.getMailboxInfo().getInboxUri());

	// Recorra la colección para obtener el URI del mensaje
	for (ExchangeMessageInfo msgInfo : msgCollection) {
		if (msgInfo.getFrom().getAddress().contains("jhon.vick")) {
			String strMessageURI = msgInfo.getUniqueUri();

			// Copiar a una carpeta en particular
			String newMessageUri = client.copyItem(strMessageURI, client.getMailboxInfo().getOutboxUri());
		}
	}
} catch (java.lang.RuntimeException ex) {
	System.out.println(ex.getMessage());
}

Mover nuevo correo electrónico a una carpeta en MS Exchange Server

También puede mover un correo electrónico recién creado a una carpeta particular en MS Exchange Server. Los siguientes son los pasos para realizar esta operación.

El siguiente ejemplo de código muestra cómo mover un nuevo mensaje de correo electrónico a una carpeta en MS Exchange Server.

try {
	// Cree una instancia de la clase EWSClient proporcionando credenciales
	IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser",
			"pwd", "domain");

	// Crear un nuevo mensaje
	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");

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

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

Obtenga una licencia de API gratuita

Puede obtener una licencia temporal gratuita para usar Aspose.Email for Java sin limitaciones de evaluación.

Conclusión

En este artículo, aprendió cómo mover correos electrónicos a una carpeta particular en Microsoft Exchange Server utilizando Java. Además, ha visto cómo mover un mensaje de correo electrónico recién creado a una carpeta específica en Exchange Server. Además, puede explorar la documentación para leer más sobre Aspose.Email for Java. Además, puede hacer sus preguntas a través de nuestro foro.

Ver también