Verschieben Sie E-Mails mit C# in einen Ordner in Microsoft Exchange Server

Microsoft Exchange Server ist eine weit verbreitete Kollaborationsplattform, die E-Mail, Kontaktverwaltung, Kalender und andere Dienste bereitstellt. Im vorherigen Beitrag haben wir Ihnen gezeigt, wie Sie in einer .NET-Anwendung programmgesteuert auf E-Mails von MS Exchange Server zugreifen und diese lesen können. Möglicherweise müssen Sie jedoch auch E-Mails von einem Ordner in einen anderen auf Exchange Server kopieren. Um dies zu erreichen, zeigt dieser Artikel, wie Sie E-Mails in einen bestimmten Ordner auf MS Exchange Server in C# .NET verschieben.

C# .NET API zum Verschieben von E-Mails auf Microsoft Exchange Server

Um die E-Mails auf MS Exchange Server zu verschieben, verwenden wir Aspose.Email for .NET. Die API bietet einfache Möglichkeiten, sich mit MS Exchange Server zu verbinden und damit zu arbeiten. Sie können es über NuGet installieren oder seine DLL herunterladen.

PM> Install-Package Aspose.Email

Verschieben Sie E-Mails in einen Ordner auf MS Exchange Server in C#

Im Folgenden sind die Schritte zum Verschieben von E-Mails in einen bestimmten Ordner auf MS Exchange Server in C# aufgeführt.

Das folgende Codebeispiel zeigt, wie eine E-Mail in C# .NET in einen Ordner auf MS Exchange Server verschoben wird.

try
{
    // Erstellen Sie eine Instanz der EWSClient-Klasse, indem Sie Anmeldeinformationen angeben
    IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

    // Rufen Sie die ListMessages-Methode auf, um Nachrichteninformationen aus dem Posteingang aufzulisten
    ExchangeMessageInfoCollection msgCollection = client.ListMessages(client.MailboxInfo.InboxUri);

    // Durchlaufen Sie die Sammlung, um den Nachrichten-URI abzurufen
    foreach (ExchangeMessageInfo msgInfo in msgCollection)
    {
        if (msgInfo.From.Address.Contains("jhon.vick"))
        {
            String strMessageURI = msgInfo.UniqueUri;

            // In einen bestimmten Ordner kopieren
            string newMessageUri = client.CopyItem(strMessageURI, client.MailboxInfo.DeletedItemsUri);
        }
    }                
}
catch (Exception ex)
{
    Console.WriteLine(ex.Message);
}

Neue E-Mail in einen Ordner auf MS Exchange Server verschieben

Sie können eine neu erstellte E-Mail auch in einen bestimmten Ordner in MS Exchange Server verschieben. Im Folgenden sind die Schritte zum Ausführen dieses Vorgangs aufgeführt.

Das folgende Codebeispiel zeigt, wie Sie eine neue E-Mail-Nachricht in einen Ordner in MS Exchange Server verschieben.

try
{
    // Erstellen Sie eine Instanz der EWSClient-Klasse, indem Sie Anmeldeinformationen angeben
    IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

    // Nachricht erstellen
    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");

    // Nachrichten-URI abrufen
    string messageUri = client.AppendMessage(message);

    // Nachricht kopieren
    string newMessageUri = client.CopyItem(messageUri, client.MailboxInfo.OutboxUri);
}
catch (Exception ex)
{
    Console.WriteLine(ex.Message);
}

Holen Sie sich eine kostenlose API-Lizenz

Sie können eine kostenlose temporäre Lizenz erhalten, um Aspose.Email für .NET ohne Evaluierungseinschränkungen zu verwenden.

Fazit

In diesem Artikel haben Sie gelernt, wie Sie E-Mails mit C# in einen bestimmten Ordner in Microsoft Exchange Server verschieben. Außerdem haben Sie gesehen, wie Sie eine neu erstellte E-Mail-Nachricht in einen bestimmten Ordner in Exchange Server verschieben. Außerdem können Sie die Dokumentation durchsuchen, um mehr über Aspose.Email für .NET zu erfahren. Sie können Ihre Fragen auch über unser Forum stellen.

Siehe auch