Microsoft Exchange Server mantiene los correos electrónicos en diferentes carpetas, como la bandeja de entrada, la bandeja de salida, etc. Además, le permite crear sus propias carpetas o subcarpetas dentro de las carpetas predefinidas. En ciertos casos, es posible que deba crear carpetas personalizadas en Exchange Server mediante programación. Para lograr eso, este artículo cubre cómo crear o eliminar carpetas o subcarpetas con EWS en MS Exchange Server en Java.
- API de Java para crear carpetas con EWS en MS Exchange Server
- Crear una carpeta en MS Exchange Server
- Crear una subcarpeta en MS Exchange Server
- Eliminar una carpeta en MS Exchange Server
API de Java para crear carpetas en MS Exchange Server
Para trabajar con carpetas en MS Exchange Server mediante EWS, utilizaremos Aspose.Email for Java. Es una potente API para trabajar con los servicios de Exchange Server desde aplicaciones Java. 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>
Crear una carpeta en MS Exchange Server en Java
Los siguientes son los pasos para crear una carpeta en MS Exchange Server en Java.
- Conéctese a MS Exchange Server y obtenga el objeto de cliente EWS en IEWSClient.
- Especifique el nombre de la carpeta raíz y la carpeta que desea crear.
- Cree una carpeta usando el método IEWSClient.createFolder(String, String).
El siguiente ejemplo de código muestra cómo crear una carpeta en MS Exchange Server con EWS en Java.
// Cree una instancia de la clase EWSClient proporcionando credenciales
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd",
"domain");
// Obtener URI de la bandeja de entrada (para crear una carpeta en la bandeja de entrada)
String inbox = client.getMailboxInfo().getInboxUri();
// Especifique el nombre de la carpeta
String folderName1 = "EMAILNET-35054";
try {
// Crear carpeta
client.setUseSlashAsFolderSeparator(true);
client.createFolder(inbox, folderName1);
} catch (Exception e) {
// Hacer algo
}
Crear una subcarpeta en MS Exchange Server en Java
Para crear una subcarpeta, primero debe verificar si la carpeta principal existe o no. Si es así, simplemente cree la subcarpeta; de lo contrario, cree primero la carpeta principal. Los siguientes pasos demuestran cómo crear una subcarpeta en MS Exchange Server en Java.
- Conéctese a MS Exchange Server y obtenga el objeto de cliente EWS en IEWSClient.
- Especifique el nombre de la carpeta raíz y la subcarpeta.
- Compruebe si la carpeta principal existe mediante el método IEWSClient.folderExists(String, String). Si no es así, crea uno.
- Cree una subcarpeta usando el método IEWSClient.createFolder(String, String).
El siguiente ejemplo de código muestra cómo crear una subcarpeta en MS Exchange Server en Java.
// Cree una instancia de la clase EWSClient proporcionando credenciales
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
// Obtener URI de la bandeja de entrada (para crear una carpeta en la bandeja de entrada)
String inbox = client.getMailboxInfo().getInboxUri();
// Especifique el nombre de la carpeta
String folderName1 = "EMAILNET-35054";
// Especifique el nombre de la subcarpeta
String subFolderName = "2015";
String folderName2 = folderName1 + "/" + subFolderName;
try
{
// Crear carpeta
client.setUseSlashAsFolderSeparator(true);
if (!client.folderExists(inbox, folderName1))
{
// Crear carpeta
client.createFolder(inbox, folderName1);
}
// Crear sub-carpeta
client.createFolder(inbox, folderName2);
}
catch(Exception e)
{
// Hacer algo
}
Eliminar una carpeta en MS Exchange Server en Java
Los siguientes son los pasos para eliminar una carpeta en MS Exchange Server en Java.
- Conéctese a MS Exchange Server y obtenga el objeto de cliente EWS en IEWSClient.
- Compruebe si la carpeta existe utilizando el método IEWSClient.folderExists(String, String, ExchangeFolderInfo[]).
- Elimine la carpeta usando el método IEWSClient.deleteFolder(String, boolean).
El siguiente ejemplo de código muestra cómo eliminar una carpeta en MS Exchange Server en Java.
// Cree una instancia de la clase EWSClient proporcionando credenciales
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
// Obtener URI de la bandeja de entrada (para crear una carpeta en la bandeja de entrada)
String inbox = client.getMailboxInfo().getInboxUri();
// Especifique el nombre de la carpeta
String folderName1 = "EMAILNET-35054";
ExchangeFolderInfo rootFolderInfo = null;
try
{
ExchangeFolderInfo[] referenceToRootFolderInfo = { rootFolderInfo };
// Comprobar si existe la carpeta
boolean outRefCondition0 = client.folderExists(inbox, folderName1, /* out */ referenceToRootFolderInfo);
rootFolderInfo = referenceToRootFolderInfo[0];
if (outRefCondition0) {
// Eliminar carpeta
client.deleteFolder(rootFolderInfo.getUri(), true);
}
}
catch(Exception e)
{
// Hacer algo
}
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, ha aprendido a trabajar con carpetas en Microsoft Exchange Server con EWS en Java. Ha visto cómo crear y eliminar una carpeta en particular en MS Exchange Server mediante programación en Java. Además, puede obtener más información sobre Aspose.Email for Java en la documentación. En caso de que tenga alguna consulta, puede publicarla en nuestro foro.