
Microsoft Exchange Server è una piattaforma di collaborazione ampiamente utilizzata che fornisce e-mail, gestione dei contatti, calendario e altri servizi. Nel post precedente, ti abbiamo mostrato come accedere e leggere le e-mail da MS Exchange Server a livello di codice in un’applicazione .NET. Tuttavia, potrebbe anche essere necessario copiare i messaggi di posta elettronica da una cartella all’altra su Exchange Server. Per raggiungere questo obiettivo, questo articolo mostra come spostare i messaggi di posta elettronica in una cartella particolare su MS Exchange Server in C# .NET.
- API .NET 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 C# .NET per spostare le email su Microsoft Exchange Server
Per spostare le e-mail su MS Exchange Server, utilizzeremo Aspose.Email for .NET. L’API fornisce modi semplici per connettersi e lavorare con MS Exchange Server. Puoi installarlo tramite NuGet o scarica la sua DLL.
PM> Install-Package Aspose.Email
Sposta l’e-mail in una cartella su MS Exchange Server in C#
Di seguito sono riportati i passaggi per spostare i messaggi di posta elettronica in una cartella particolare su MS Exchange Server in C#.
- 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.MailboxInfo.InboxUri).
- Successivamente, scorrere ogni messaggio ExchangeMessageInfo e filtrare quelli richiesti.
- Quindi, ottieni l’URI del messaggio da spostare usando la proprietà ExchangeMessageInfo.UniqueUri.
- Infine, sposta il messaggio di posta elettronica utilizzando il metodo IEWSClient.CopyItem(string URI, IEWSClient.MailboxInfo.DeletedItemsUri).
L’esempio di codice seguente mostra come spostare un messaggio di posta elettronica in una cartella in MS Exchange Server in C# .NET.
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.MailboxInfo.InboxUri);
// Scorri la raccolta per ottenere l'URI del messaggio
foreach (ExchangeMessageInfo msgInfo in msgCollection)
{
if (msgInfo.From.Address.Contains("jhon.vick"))
{
String strMessageURI = msgInfo.UniqueUri;
// Copia in una cartella particolare
string newMessageUri = client.CopyItem(strMessageURI, client.MailboxInfo.DeletedItemsUri);
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
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.MailboxInfo.OutboxUri).
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 messaggio
MailMessage message = new MailMessage("from@domain.com", "to@domain.com", "EMAILNET-34997 - " + Guid.NewGuid().ToString(), "EMAILNET-34997 Exchange: Copy a message and get reference to the new Copy item");
// Ottieni l'URI del messaggio
string messageUri = client.AppendMessage(message);
// Copia messaggio
string newMessageUri = client.CopyItem(messageUri, client.MailboxInfo.OutboxUri);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
Ottieni una licenza API gratuita
Puoi ottenere una licenza temporanea gratuita per utilizzare Aspose.Email per .NET 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 usando C#. 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 .NET. Inoltre, puoi porre le tue domande tramite il nostro forum.