Aspose.Email per Java ti consente di lavorare con i servizi di Microsoft Exchange Server come e-mail, gestione dei contatti, calendario, ecc. In un post precedente, hai visto come leggere le email da MS Exchange Server in modo programmatico dall’interno delle tue applicazioni Java. Tuttavia, in alcuni casi, potrebbe essere necessario spostare i messaggi di posta elettronica da una cartella all’altra su Exchange Server. In questo articolo imparerai come spostare le email in una cartella particolare su MS Exchange Server in Java.
- API Java per spostare le email su Microsoft Exchange Server
- Sposta l’e-mail esistente in una cartella su MS Exchange Server
- Sposta la nuova e-mail in una cartella su MS Exchange Server
API Java per spostare le email su Microsoft Exchange Server
Aspose.Email per Java è una potente API di posta elettronica per lavorare con MS Exchange Server senza scrivere codice complesso. In questo articolo, utilizzeremo questa API per spostare le e-mail in una cartella specifica della casella di posta in MS Exchange Server. 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>
Sposta l’e-mail in una cartella su MS Exchange Server in Java
Di seguito sono riportati i passaggi per spostare le e-mail in una cartella particolare su MS Exchange Server in Java.
- Innanzitutto, inizializza l’oggetto IEWSClient utilizzando nome utente, password, dominio e URI.
- Quindi, ottieni l’elenco dei messaggi di posta elettronica in un oggetto ExchangeMessageInfoCollection utilizzando il metodo IEWSClient.listMessages(IEWSClient.getMailboxInfo().getInboxUri()).
- Successivamente, scorrere ogni messaggio ExchangeMessageInfo e filtrare quelli richiesti.
- Quindi, ottieni l’URI del messaggio di posta elettronica da spostare utilizzando il metodo ExchangeMessageInfo.getUniqueUri().
- Infine, sposta il messaggio di posta elettronica utilizzando il metodo IEWSClient.copyItem(String URI, IEWSClient.getMailboxInfo().getOutboxUri()).
L’esempio di codice seguente mostra come spostare un messaggio di posta elettronica in una cartella su MS Exchange Server in Java.
try {
// Crea un'istanza della classe EWSClient fornendo le credenziali
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser",
"pwd", "domain");
// Chiama il metodo ListMessages per elencare le informazioni sui messaggi dalla Posta in arrivo
ExchangeMessageInfoCollection msgCollection = client.listMessages(client.getMailboxInfo().getInboxUri());
// Scorri la raccolta per ottenere l'URI del messaggio
for (ExchangeMessageInfo msgInfo : msgCollection) {
if (msgInfo.getFrom().getAddress().contains("jhon.vick")) {
String strMessageURI = msgInfo.getUniqueUri();
// Copia in una cartella particolare
String newMessageUri = client.copyItem(strMessageURI, client.getMailboxInfo().getOutboxUri());
}
}
} catch (java.lang.RuntimeException ex) {
System.out.println(ex.getMessage());
}
Sposta la nuova e-mail in una cartella su MS Exchange Server
Puoi anche spostare un’e-mail appena creata in una cartella particolare in MS Exchange Server. Di seguito sono riportati i passaggi per eseguire questa operazione.
- Innanzitutto, inizializza l’oggetto IEWSClient utilizzando nome utente, password, dominio e URI.
- Quindi, crea un nuovo messaggio usando la classe MailMessage.
- Successivamente, ottieni l’URI del messaggio di posta elettronica restituito dal metodo IEWSClient.appendMessage(MailMessage).
- Infine, sposta il messaggio di posta elettronica utilizzando il metodo IEWSClient.copyItem(String URI, IEWSClient.getMailboxInfo().getOutboxUri()).
L’esempio di codice seguente mostra come spostare un nuovo messaggio di posta elettronica in una cartella in MS Exchange Server.
try {
// Crea un'istanza della classe EWSClient fornendo le credenziali
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser",
"pwd", "domain");
// Crea un nuovo messaggio
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");
// Ottieni URI
String messageUri = client.appendMessage(message);
// Sposta nella cartella
String newMessageUri = client.copyItem(messageUri, client.getMailboxInfo().getDeletedItemsUri());
} catch (java.lang.RuntimeException ex) {
System.out.println(ex.getMessage());
}
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 spostare i messaggi di posta elettronica in una cartella particolare in Microsoft Exchange Server utilizzando Java. Inoltre, hai visto come spostare un messaggio di posta elettronica appena creato in una cartella specifica in Exchange Server. Inoltre, puoi esplorare la documentazione per saperne di più su Aspose.Email per Java. Inoltre, puoi porre le tue domande tramite il nostro forum.