Gestionando elementos de conversación
Aspose.Email para Java puede usarse para gestionar los elementos de conversación en Exchange Server con el EWSClient clase. Esta clase usa Exchange Web Services, que solo están disponibles en Exchange Server 2007 y versiones posteriores. Este artículo muestra cómo buscar, copiar, mover y eliminar elementos de conversación en Exchange Server 2010. Microsoft Exchange Server 2010 Service Pack 1 es necesario para todas las características incluidas en esta sección.
Encontrando conversaciones
Para obtener la información de conversación de una carpeta específica en el Exchange Server:
- Conéctese al Exchange Server usando la clase IEWSClient.
- Llame al método IEWSClient.findConversations() para encontrar todos los elementos de conversación de una carpeta.
- Muestre las propiedades del elemento de conversación como ID, tema de la conversación y estado de la bandera.
El siguiente fragmento de código muestra cómo encontrar conversaciones.
IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);
System.out.println("Connected to Exchange 2010");
// Find Conversation Items in the Inbox folder
ExchangeConversation[] conversations = client.findConversations(client.getMailboxInfo().getInboxUri());
// Show all conversations
for (ExchangeConversation conversation : conversations) {
// Display conversation properties like Id and Topic
System.out.println("Topic: " + conversation.getConversationTopic());
System.out.println("Flag Status: " + conversation.getFlagStatus());
System.out.println();
}
Copiando conversaciones
Para copiar conversaciones de una carpeta a otra:
- Conéctese al Exchange Server usando la clase IEWSClient.
- Llame al método IEWSClient.copyConversationItems() para copiar el elemento de conversación de la carpeta origen a la carpeta destino.
El siguiente fragmento de código muestra cómo copiar conversaciones.
IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);
System.out.println("Connected to Exchange 2010");
// Find those Conversation Items in the Inbox folder which we want to copy
ExchangeConversation[] conversations = client.findConversations(client.getMailboxInfo().getInboxUri());
for (ExchangeConversation conversation : conversations) {
System.out.println("Topic: " + conversation.getConversationTopic());
// Copy the conversation item based on some condition
if (conversation.getConversationTopic().contains("test email")) {
client.copyConversationItems(conversation.getConversationId(), client.getMailboxInfo().getDeletedItemsUri());
System.out.println("Copied the conversation item to another folder");
}
}
Moviendo conversaciones
Para mover conversaciones de una carpeta a otra:
- Conéctese al Exchange Server usando la clase IEWSClient.
- Llame al método IEWSClient.moveConversationItems() para mover una conversación de la carpeta origen a la carpeta destino.
El siguiente fragmento de código muestra cómo mover conversaciones.
IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);
System.out.println("Connected to Exchange 2010");
// Find those Conversation Items in the Inbox folder which we want to move
ExchangeConversation[] conversations = client.findConversations(client.getMailboxInfo().getInboxUri());
for (ExchangeConversation conversation : conversations) {
System.out.println("Topic: " + conversation.getConversationTopic());
// Move the conversation item based on some condition
if (conversation.getConversationTopic().contains("test email") == true) {
client.moveConversationItems(conversation.getConversationId(), client.getMailboxInfo().getDeletedItemsUri());
System.out.println("Moved the conversation item to another folder");
}
}
Eliminando conversaciones
Para eliminar conversaciones de una carpeta:
- Conéctese al Exchange Server usando la clase IEWSClient.
- Llame al método IEWSClient.deleteConversationItems() para eliminar el elemento de conversación de la carpeta origen.
El siguiente fragmento de código muestra cómo eliminar conversaciones.
IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);
System.out.println("Connected to Exchange 2010");
// Find those Conversation Items in the Inbox folder which we want to delete
ExchangeConversation[] conversations = client.findConversations(client.getMailboxInfo().getInboxUri());
for (ExchangeConversation conversation : conversations) {
System.out.println("Topic: " + conversation.getConversationTopic());
// Delete the conversation item based on some condition
if (conversation.getConversationTopic().contains("test email") == true) {
client.deleteConversationItems(conversation.getConversationId());
System.out.println("Deleted the conversation item");
}
}