Gerenciando Itens de Conversação
Aspose.Email para Java pode ser usado para gerenciar os itens de conversação no Exchange Server com a classe EWSClient. Esta classe utiliza os Serviços Web do Exchange, que estão disponíveis apenas no Exchange Server 2007 e versões posteriores. Este artigo mostra como encontrar, copiar, mover e deletar itens de conversação no Exchange Server 2010. O Microsoft Exchange Server 2010 Service Pack 1 é necessário para todos os recursos incluídos nesta seção.
Encontrando Conversas
Para obter as informações da conversa de uma pasta específica no Exchange Server:
- Conecte-se ao Exchange Server usando a classe IEWSClient.
- Chame o método IEWSClient.findConversations() para encontrar todos os itens de conversação de uma pasta.
- Exiba as propriedades do item de conversação, como ID, tópico da conversa e status da flag.
O seguinte trecho de código mostra como encontrar conversas.
IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);
System.out.println("Conectado ao Exchange 2010");
// Encontrar Itens de Conversa na pasta Caixa de Entrada
ExchangeConversation[] conversations = client.findConversations(client.getMailboxInfo().getInboxUri());
// Mostrar todas as conversas
for (ExchangeConversation conversation : conversations) {
// Exibir propriedades da conversa como Id e Tópico
System.out.println("Tópico: " + conversation.getConversationTopic());
System.out.println("Status da Flag: " + conversation.getFlagStatus());
System.out.println();
}
Copiando Conversas
Para copiar conversas de uma pasta para outra:
- Conecte-se ao Exchange Server usando a classe IEWSClient.
- Chame o método IEWSClient.copyConversationItems() para copiar o item de conversação da pasta de origem para a pasta de destino.
O seguinte trecho de código mostra como copiar conversas.
IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);
System.out.println("Conectado ao Exchange 2010");
// Encontrar aqueles Itens de Conversa na pasta Caixa de Entrada que queremos copiar
ExchangeConversation[] conversations = client.findConversations(client.getMailboxInfo().getInboxUri());
for (ExchangeConversation conversation : conversations) {
System.out.println("Tópico: " + conversation.getConversationTopic());
// Copiar o item de conversa com base em alguma condição
if (conversation.getConversationTopic().contains("teste email")) {
client.copyConversationItems(conversation.getConversationId(), client.getMailboxInfo().getDeletedItemsUri());
System.out.println("Item de conversa copiado para outra pasta");
}
}
Movendo Conversas
Para mover conversas de uma pasta para outra:
- Conecte-se ao Exchange Server usando a classe IEWSClient.
- Chame o método IEWSClient.moveConversationItems() para mover uma conversa da pasta de origem para a pasta de destino.
O seguinte trecho de código mostra como mover conversas.
IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);
System.out.println("Conectado ao Exchange 2010");
// Encontrar aqueles Itens de Conversa na pasta Caixa de Entrada que queremos mover
ExchangeConversation[] conversations = client.findConversations(client.getMailboxInfo().getInboxUri());
for (ExchangeConversation conversation : conversations) {
System.out.println("Tópico: " + conversation.getConversationTopic());
// Mover o item de conversa com base em alguma condição
if (conversation.getConversationTopic().contains("teste email") == true) {
client.moveConversationItems(conversation.getConversationId(), client.getMailboxInfo().getDeletedItemsUri());
System.out.println("Item de conversa movido para outra pasta");
}
}
Deletando Conversas
Para deletar conversas de uma pasta:
- Conecte-se ao Exchange Server usando a classe IEWSClient.
- Chame o método IEWSClient.deleteConversationItems() para deletar o item de conversação da pasta de origem.
O seguinte trecho de código mostra como deletar conversas.
IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);
System.out.println("Conectado ao Exchange 2010");
// Encontrar aqueles Itens de Conversa na pasta Caixa de Entrada que queremos deletar
ExchangeConversation[] conversations = client.findConversations(client.getMailboxInfo().getInboxUri());
for (ExchangeConversation conversation : conversations) {
System.out.println("Tópico: " + conversation.getConversationTopic());
// Deletar o item de conversa com base em alguma condição
if (conversation.getConversationTopic().contains("teste email") == true) {
client.deleteConversationItems(conversation.getConversationId());
System.out.println("Item de conversa deletado");
}
}