Spesso un’e-mail è composta da più messaggi (o risposte) che formano un thread. In Microsoft Exchange Server, questi thread sono definiti conversazioni. Mentre si lavora con MS Exchange Server a livello di codice, potrebbe essere necessario accedere e gestire le conversazioni. A tal fine, in questo articolo imparerai come trovare, copiare, spostare ed eliminare conversazioni su Microsoft Exchange Server in Java.
- API Java per lavorare con le conversazioni su MS Exchange Server
- Trova Conversazione su MS Exchange Server in Java
- Copia una conversazione su MS Exchange Server in Java
- Sposta una conversazione su MS Exchange Server in Java
- Elimina una conversazione su MS Exchange Server in Java
API Java per lavorare con le conversazioni su MS Exchange Server
Per lavorare con le conversazioni su Microsoft Exchange Server, utilizzeremo Aspose.Email per Java. È un’API straordinaria che fornisce un sacco di funzionalità per lavorare con MS Exchange Server dall’interno delle applicazioni Java. Puoi scaricare l’API o installarla utilizzando le seguenti configurazioni Maven.
Archivio:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
Dipendenza:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-email</artifactId>
<version>22.2</version>
<classifier>jdk16</classifier>
</dependency>
Trova conversazioni su MS Exchange Server in Java
Di seguito sono riportati i passaggi per trovare conversazioni da una cartella in MS Exchange Server utilizzando Java.
- Innanzitutto, crea e inizializza l’oggetto NetworkCredential con nome utente, password e dominio.
- Quindi, inizializza IEWSClient con l’URI della cassetta postale e l’oggetto NetworkCredential.
- Chiama il metodo IEWSClient.findConversations(IEWSClient.getMailboxInfo().getInboxUri()) e ottieni conversazioni in un array ExchangeConversation.
- Infine, scorrere ogni oggetto ExchangeConversation nell’array e recuperarne i dettagli.
L’esempio di codice seguente mostra come trovare conversazioni da una cartella in MS Exchange Server in Java.
// Imposta l'URI della casella di posta, il nome utente, la password, le informazioni sul dominio
String mailboxUri = "https://ex2010/ews/exchange.asmx";
String username = "test.exchange";
String password = "pwd";
String domain = "ex2010.local";
NetworkCredential credentials = new NetworkCredential(username, password, domain);
IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);
System.out.println("Connected to Exchange");
// Trova gli elementi della conversazione nella cartella Posta in arrivo
ExchangeConversation[] conversations = client.findConversations(client.getMailboxInfo().getInboxUri());
// Mostra tutte le conversazioni
for (ExchangeConversation conversation : conversations) {
// Visualizza le proprietà della conversazione come ID e Argomento
System.out.println("Topic: " + conversation.getConversationTopic());
System.out.println("Flag Status: " + conversation.getFlagStatus());
System.out.println();
}
Copia una conversazione su MS Exchange Server in Java
Puoi anche copiare le conversazioni da una cartella all’altra. Diamo un’occhiata a come copiare le conversazioni dalla posta in arrivo alla cartella degli elementi eliminati di Exchange Server in Java.
- Innanzitutto, crea e inizializza l’oggetto NetworkCredential con nome utente, password e dominio.
- Quindi, inizializza IEWSClient con l’URI della cassetta postale e l’oggetto NetworkCredential.
- Chiama il metodo IEWSClient.findConversations(IEWSClient.getMailboxInfo().getInboxUri())) e ottieni conversazioni in un array ExchangeConversation.
- Passa in rassegna ogni oggetto ExchangeConversation nell’array e filtra quelli richiesti.
- Infine, copia la conversazione utilizzando il metodo IEWSClient.copyConversationItems(ExchangeConversation.getConversationId(), IEWSClient.getMailboxInfo().getDeletedItemsUri()).
L’esempio di codice seguente mostra come copiare una conversazione in MS Exchange Server utilizzando Java.
// Imposta l'URI della casella di posta, il nome utente, la password, le informazioni sul dominio
String mailboxUri = "https://ex2010/ews/exchange.asmx";
String username = "test.exchange";
String password = "pwd";
String domain = "ex2010.local";
NetworkCredential credentials = new NetworkCredential(username, password, domain);
IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);
System.out.println("Connected to Exchange");
// Trova gli elementi della conversazione nella cartella Posta in arrivo
ExchangeConversation[] conversations = client.findConversations(client.getMailboxInfo().getInboxUri());
// Mostra tutte le conversazioni
for (ExchangeConversation conversation : conversations) {
System.out.println("Topic: " + conversation.getConversationTopic());
// Copia l'elemento della conversazione in base ad alcune condizioni
if (conversation.getConversationTopic().contains("test email")) {
client.copyConversationItems(conversation.getConversationId(), client.getMailboxInfo().getDeletedItemsUri());
System.out.println("Copied the conversation item to another folder");
}
}
Sposta una conversazione su MS Exchange Server in Java
Nella sezione precedente, abbiamo appena copiato le conversazioni da una cartella all’altra. Tuttavia, in alcuni casi, potrebbe essere necessario spostare una conversazione in una cartella particolare. Di seguito sono riportati i passaggi per spostare una conversazione in MS Exchange Server in Java.
- Innanzitutto, crea e inizializza l’oggetto NetworkCredential con nome utente, password e dominio.
- Quindi, inizializzare IEWSClient con l’URI della cassetta postale e l’oggetto NetworkCredential.
- Chiama il metodo IEWSClient.findConversations(IEWSClient.getMailboxInfo().getInboxUri())) e ottieni conversazioni in un array ExchangeConversation.
- Passa in rassegna ogni oggetto ExchangeConversation nell’array e filtra quelli richiesti.
- Infine, sposta la conversazione utilizzando il metodo IEWSClient.moveConversationItems(ExchangeConversation.getConversationId(), IEWSClient.getMailboxInfo().getDeletedItemsUri()).
L’esempio di codice seguente mostra come spostare una conversazione in MS Exchange Server utilizzando Java.
// Imposta l'URI della casella di posta, il nome utente, la password, le informazioni sul dominio
String mailboxUri = "https://ex2010/ews/exchange.asmx";
String username = "test.exchange";
String password = "pwd";
String domain = "ex2010.local";
NetworkCredential credentials = new NetworkCredential(username, password, domain);
IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);
System.out.println("Connected to Exchange");
// Trova gli elementi della conversazione nella cartella Posta in arrivo
ExchangeConversation[] conversations = client.findConversations(client.getMailboxInfo().getInboxUri());
// Mostra tutte le conversazioni
for (ExchangeConversation conversation : conversations) {
System.out.println("Topic: " + conversation.getConversationTopic());
// Sposta l'elemento della conversazione in base ad alcune condizioni
if (conversation.getConversationTopic().contains("test email") == true) {
client.moveConversationItems(conversation.getConversationId(), client.getMailboxInfo().getDeletedItemsUri());
System.out.println("Moved the conversation item to another folder");
}
}
Elimina una conversazione su MS Exchange Server in Java
Alla fine, diamo un’occhiata a come eliminare una conversazione da MS Exchange Server in Java.
- Innanzitutto, crea e inizializza l’oggetto NetworkCredential con nome utente, password e dominio.
- Quindi, inizializzare IEWSClient con l’URI della cassetta postale e l’oggetto NetworkCredential.
- Chiama il metodo IEWSClient.findConversations(IEWSClient.getMailboxInfo().getInboxUri()) e ottieni conversazioni in un array ExchangeConversation.
- Passa in rassegna ogni oggetto ExchangeConversation nell’array e filtra quelli richiesti.
- Infine, elimina una conversazione utilizzando il metodo IEWSClient.deleteConversationItems(ExchangeConversation.getConversationId()).
L’esempio di codice seguente mostra come eliminare una conversazione da MS Exchange Server in Java.
// Imposta l'URI della casella di posta, il nome utente, la password, le informazioni sul dominio
String mailboxUri = "https://ex2010/ews/exchange.asmx";
String username = "test.exchange";
String password = "pwd";
String domain = "ex2010.local";
NetworkCredential credentials = new NetworkCredential(username, password, domain);
IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);
System.out.println("Connected to Exchange");
// Trova gli elementi della conversazione nella cartella Posta in arrivo
ExchangeConversation[] conversations = client.findConversations(client.getMailboxInfo().getInboxUri());
// Mostra tutte le conversazioni
for (ExchangeConversation conversation : conversations) {
System.out.println("Topic: " + conversation.getConversationTopic());
// Elimina l'elemento della conversazione in base ad alcune condizioni
if (conversation.getConversationTopic().contains("test email") == true) {
client.deleteConversationItems(conversation.getConversationId());
System.out.println("Deleted the conversation item");
}
}
Ottieni una licenza API gratuita
Puoi ottenere una licenza temporanea gratuita per utilizzare Aspose.Email per Java senza limitazioni di valutazione.
Conclusione
In questo articolo hai imparato come gestire le conversazioni in Microsoft Exchange Server utilizzando Java. Hai visto come trovare, copiare, spostare ed eliminare una conversazione su MS Exchange Server a livello di codice in Java. Inoltre, puoi esplorare la documentazione per saperne di più su Aspose.Email per Java. Inoltre, puoi porre le tue domande tramite il nostro forum.