Přesunout e-mail do složky na Microsoft Exchange Server pomocí C#

Microsoft Exchange Server je široce používaná platforma pro spolupráci, která poskytuje e-mail, správu kontaktů, kalendář a další služby. V předchozím příspěvku jsme vám ukázali, jak přistupovat a číst e-maily z MS Exchange Serveru programově v aplikaci .NET. Možná však budete muset také kopírovat e-maily z jedné složky do druhé na serveru Exchange. Abychom toho dosáhli, tento článek ukazuje, jak přesunout e-maily do konkrétní složky na MS Exchange Server v C# .NET.

C# .NET API pro přesun e-mailů na Microsoft Exchange Server

Pro přesun e-mailů na MS Exchange Server použijeme Aspose.Email for .NET. API poskytuje jednoduché způsoby, jak se připojit a pracovat s MS Exchange Server. Můžete jej nainstalovat přes NuGet nebo stáhnout jeho DLL.

PM> Install-Package Aspose.Email

Přesunout e-mail do složky na MS Exchange Server v C#

Následují kroky pro přesun e-mailů do konkrétní složky na MS Exchange Server v C#.

Následující ukázka kódu ukazuje, jak přesunout e-mail do složky na MS Exchange Server v C# .NET.

try
{
    // Vytvořte instanci třídy EWSClient zadáním přihlašovacích údajů
    IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

    // Call ListMessages metoda pro výpis informací o zprávách z Inboxu
    ExchangeMessageInfoCollection msgCollection = client.ListMessages(client.MailboxInfo.InboxUri);

    // Procházejte kolekci a získejte URI zprávy
    foreach (ExchangeMessageInfo msgInfo in msgCollection)
    {
        if (msgInfo.From.Address.Contains("jhon.vick"))
        {
            String strMessageURI = msgInfo.UniqueUri;

            // Zkopírujte do konkrétní složky
            string newMessageUri = client.CopyItem(strMessageURI, client.MailboxInfo.DeletedItemsUri);
        }
    }                
}
catch (Exception ex)
{
    Console.WriteLine(ex.Message);
}

Přesunout nový e-mail do složky na MS Exchange Server

Nově vytvořený e-mail můžete také přesunout do konkrétní složky na MS Exchange Serveru. Následují kroky k provedení této operace.

Následující ukázka kódu ukazuje, jak přesunout novou e-mailovou zprávu do složky na MS Exchange Server.

try
{
    // Vytvořte instanci třídy EWSClient zadáním přihlašovacích údajů
    IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

    // Vytvořit zprávu
    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");

    // Získejte URI zprávy
    string messageUri = client.AppendMessage(message);

    // Zkopírujte zprávu
    string newMessageUri = client.CopyItem(messageUri, client.MailboxInfo.OutboxUri);
}
catch (Exception ex)
{
    Console.WriteLine(ex.Message);
}

Získejte bezplatnou licenci API

Můžete získat bezplatnou dočasnou licenci k používání Aspose.Email pro .NET bez omezení hodnocení.

Závěr

V tomto článku jste se naučili, jak přesunout e-maily do konkrétní složky na Microsoft Exchange Server pomocí C#. Dále jste viděli, jak přesunout nově vytvořenou e-mailovou zprávu do konkrétní složky na Exchange Server. Kromě toho můžete prozkoumat dokumentaci a přečíst si více o Aspose.Email pro .NET. Také se můžete ptát na naše fórum.

Viz také