Przenieś wiadomość e-mail do folderu w Microsoft Exchange Server za pomocą C#

Microsoft Exchange Server to szeroko stosowana platforma współpracy, która zapewnia pocztę e-mail, zarządzanie kontaktami, kalendarze i inne usługi. W poprzednim poście pokazaliśmy, jak uzyskać dostęp i czytać e-maile z MS Exchange Server programowo w aplikacji .NET. Jednak może być również konieczne skopiowanie wiadomości e-mail z jednego folderu do innego na serwerze Exchange. Aby to osiągnąć, w tym artykule pokazano, jak przenieść wiadomości e-mail do określonego folderu na serwerze MS Exchange w języku C# .NET.

Interfejs API platformy C# .NET do przenoszenia wiadomości e-mail na serwerze Microsoft Exchange

Aby przenieść wiadomości e-mail na MS Exchange Server, użyjemy Aspose.Email for .NET. Interfejs API zapewnia proste sposoby łączenia się i pracy z MS Exchange Server. Możesz zainstalować go przez NuGet lub pobierz jego bibliotekę DLL.

PM> Install-Package Aspose.Email

Przenieś wiadomość e-mail do folderu na serwerze MS Exchange w języku C#

Poniżej przedstawiono kroki przenoszenia wiadomości e-mail do określonego folderu na serwerze MS Exchange w języku C#.

Poniższy przykładowy kod pokazuje, jak przenieść wiadomość e-mail do folderu na serwerze MS Exchange w języku C# .NET.

try
{
    // Utwórz instancję klasy EWSClient, podając poświadczenia
    IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

    // Wywołaj metodę ListMessages, aby wyświetlić informacje o wiadomościach ze skrzynki odbiorczej
    ExchangeMessageInfoCollection msgCollection = client.ListMessages(client.MailboxInfo.InboxUri);

    // Przejrzyj kolekcję, aby uzyskać identyfikator URI komunikatu
    foreach (ExchangeMessageInfo msgInfo in msgCollection)
    {
        if (msgInfo.From.Address.Contains("jhon.vick"))
        {
            String strMessageURI = msgInfo.UniqueUri;

            // Skopiuj do określonego folderu
            string newMessageUri = client.CopyItem(strMessageURI, client.MailboxInfo.DeletedItemsUri);
        }
    }                
}
catch (Exception ex)
{
    Console.WriteLine(ex.Message);
}

Przenieś nową wiadomość e-mail do folderu na serwerze MS Exchange

Możesz także przenieść nowo utworzoną wiadomość e-mail do określonego folderu w MS Exchange Server. Poniżej przedstawiono kroki, aby wykonać tę operację.

Poniższy przykładowy kod pokazuje, jak przenieść nową wiadomość e-mail do folderu w MS Exchange Server.

try
{
    // Utwórz instancję klasy EWSClient, podając poświadczenia
    IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

    // Utwórz wiadomość
    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");

    // Pobierz identyfikator URI wiadomości
    string messageUri = client.AppendMessage(message);

    // Skopiuj wiadomość
    string newMessageUri = client.CopyItem(messageUri, client.MailboxInfo.OutboxUri);
}
catch (Exception ex)
{
    Console.WriteLine(ex.Message);
}

Uzyskaj bezpłatną licencję API

Możesz uzyskać darmową tymczasową licencję na korzystanie z Aspose.Email for .NET bez ograniczeń ewaluacyjnych.

Wniosek

W tym artykule nauczyłeś się przenosić wiadomości e-mail do określonego folderu w programie Microsoft Exchange Server przy użyciu języka C#. Ponadto widziałeś, jak przenieść nowo utworzoną wiadomość e-mail do określonego folderu w Exchange Server. Poza tym możesz przejrzeć dokumentację, aby dowiedzieć się więcej o Aspose.Email for .NET. Możesz także zadawać pytania za pośrednictwem naszego forum.

Zobacz też