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
- Mover el correo electrónico existente a una carpeta en MS Exchange Server
- Mover nuevo correo electrónico a una carpeta en MS Exchange Server
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.
- Primero, inicialice el objeto IEWSClient usando nombre de usuario, contraseña, dominio y URI.
- Luego, obtenga una lista de mensajes de correo electrónico en un objeto ExchangeMessageInfoCollection usando el método IEWSClient.listMessages(IEWSClient.getMailboxInfo().getInboxUri()).
- Después de eso, recorra cada mensaje ExchangeMessageInfo y filtre los necesarios.
- Luego, obtenga el URI del mensaje de correo electrónico que se moverá usando el método ExchangeMessageInfo.getUniqueUri().
- Finalmente, mueva el mensaje de correo electrónico usando el método IEWSClient.copyItem(String URI, IEWSClient.getMailboxInfo().getOutboxUri()).
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.
- Primero, inicialice el objeto IEWSClient usando el nombre de usuario, la contraseña, el dominio y el URI.
- Luego, crea un nuevo mensaje usando la clase MailMessage.
- Después de eso, obtenga el URI del mensaje de correo electrónico devuelto por el método IEWSClient.appendMessage(MailMessage).
- Finalmente, mueva el mensaje de correo electrónico usando el método IEWSClient.copyItem(String URI, IEWSClient.getMailboxInfo().getOutboxUri()).
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.