Sposta l'e-mail in una cartella in Microsoft Exchange Server utilizzando C#

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 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#.

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.

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.

Guarda anche