Nachrichten auf Exchange‑Server senden, lesen und organisieren
Exchange‑Postfachinformationen mit EWS abrufen
Aspose.Email ermöglicht das Abrufen von Postfachdetails aus Microsoft Exchange mittels IEWSClient Klasse zurück. Durch Aufrufen der GetMailboxInfo() Methode gibt der Client ein ExchangeMailboxInfo Objekt, das nützliche Ordner‑URIs wie Mailbox, Inbox, Drafts und Sent Items enthält.
Um sich mit dem Exchange‑Server über Exchange Web Services (EWS) zu verbinden, verwenden Sie das IEWSClient Klasse. Diese Klasse verwendet EWS, um eine Verbindung zu einem Exchange‑Server herzustellen und Elemente zu verwalten.
Das folgende Codebeispiel demonstriert, wie man mit den Exchange Web Services Postfachinformationen abruft.
E-Mails über EWS senden
Sie können E-Mails über Exchange senden, indem Sie die IEWSClient->Send() Methode. Sie nimmt ein MailMessage Objekt und übermittelt es direkt über den Server mit EWS.
Das folgende Codebeispiel zeigt, wie man eine HTML‑E‑Mail über einen Exchange‑Server mit Exchange Web Services (EWS) und Aspose.Email für C++ sendet. Es demonstriert den kompletten Ablauf: Verbindung zu Exchange herstellen, eine Mailnachricht mit Absender, Empfänger, Betreff und HTML‑Inhalt erstellen und die Nachricht anschließend mit der Send‑Methode des EWS‑Clients senden.
E‑Mails aus dem Postfach eines anderen Benutzers lesen
Einige Konten auf Exchange‑Servern haben das Recht, auf mehrere Postfächer zuzugreifen, und einige Benutzer haben mehrere E‑Mail‑Konten auf demselben Exchange‑Server. In beiden Fällen können Benutzer mit Aspose.Email auf die Postfächer anderer Benutzer zugreifen. Die API bietet einen Mechanismus, um Ordner und E‑Mails aus anderen Postfächern über die IEWSClient Klasse. Diese Funktionalität kann mit der überladenen GetMailboxInfo() Methode und Angabe der Benutzer‑E‑Mail‑Adresse als Parameter.
Das folgende Code‑Snippet zeigt, wie Sie E-Mails mit dem IEWSClient Klasse.
Nachrichten mit EWS auflisten
Aspose.Email für C++ ermöglicht das Abrufen von Nachrichtenmetadaten aus Exchange‑Server‑Postfächern über die IEWSClient. Verwenden Sie die EWS‑basierte ListMessages API können Sie Nachrichten aus jedem Ordner auflisten, Metadaten von Nachrichten durchsuchen und Paging für große Postfächer implementieren.
Nachrichten aus dem Posteingang auflisten
Verwenden ListMessages um grundlegende Nachrichteninformationen wie Betreff, Absender, Empfänger und Nachrichten‑ID aus dem Posteingang oder einem beliebigen Ordner abzurufen.
Das folgende Code‑Beispiel demonstriert, wie Sie alle Nachrichten in einem Exchange‑Server auflisten und grundlegende Informationen anzeigen.
- Erstellen Sie eine Instanz von IEWSClient.
- Rufen Sie ListMessages mit der Zielordner‑URI.
- Durchlaufen Sie ExchangeMessageInfoCollection.
Nachrichten aus jedem Ordner auflisten
ListMessages akzeptiert jede gültige Ordner‑URI, sodass Sie Elemente aus Gelöschte Elemente, Entwürfe, Gesendete Elemente oder benutzerdefinierten Ordnern auflisten können. Verwenden Sie die IEWSClient->get_MailboxInfo->xxxFolderUri Eigenschaft, um die URI verschiedener Ordner zu erhalten.
Das folgende Code‑Beispiel zeigt, wie Sie verschiedene Exchange‑Server‑Ordner‑URIs zugreifen und Nachrichten aus einem angegebenen Ordner abrufen.
Seitennavigation bei Nachrichtenlisten
Für große Postfächer verwenden Sie ListMessagesByPage um Nachrichten in kleineren Blöcken zu laden.
Das folgende Code‑Beispiel demonstriert, wie Sie die Paginierung implementieren, um eine große Anzahl von Nachrichten aus dem Posteingang eines Exchange‑Servers abzurufen.
- Zunächst erstellt es mehrere Testnachrichten auf dem Server.
- Dann verwendet es die ListMessagesByPage Methode, um Nachrichten in kleineren Stapeln abzurufen (in diesem Fall 5 Nachrichten pro Seite) und alle Seiten zu iterieren, bis die letzte Seite erreicht ist.
- Abschließend prüft das Skript, dass alle Nachrichten erfolgreich abgerufen wurden, indem es die Gesamtzahl der Elemente über alle Seiten hinweg zählt.
Nachrichtentyp‑Informationen abrufen
Verwenden ExchangeMessageInfo->MessageInfoType um den zugrundeliegenden Exchange‑Nachrichtentyp zu bestimmen (z. B. E‑Mail, Besprechungsanfrage usw.).
Das folgende Code‑Beispiel zeigt, wie Sie sich mit einem Exchange‑Server verbinden und Informationen zum Nachrichtentyp aus dem Ordner Gelöschte Elemente abrufen.
Nachrichten mit Exchange Web Services (EWS) speichern
Aspose.Email ermöglicht es Ihnen, Nachrichten aus einem Exchange‑Server‑Postfach abzurufen und sie in mehreren Formaten zu speichern, wie EML, Memory‑Streams und MSG. Die nachstehenden Beispiele zeigen, wie Sie Nachrichteninformationen abrufen und Nachrichten mit der IEWSClient API.
Nachrichten als EML‑Dateien speichern
Um Postfachnachrichten als EML‑Dateien zu speichern:
- Erstellen Sie ein IEWSClient Instanz mit gültigen Anmeldeinformationen abzurufen.
- Rufen Sie ListMessages() um ein ExchangeMessagesInfoCollection.
- Durchlaufen Sie die Sammlung, um die eindeutige URI jeder Nachricht zu erhalten.
- Rufen Sie SaveMessage() um jede Nachricht auf dem Datenträger im EML‑Format zu speichern.
Das folgende Code‑Beispiel demonstriert, wie Sie E‑Mail‑Nachrichten aus dem Posteingang eines Exchange‑Servers lokal als einzelne EML‑Dateien mithilfe von Aspose.Email für C++ speichern.
Nachrichten in einen Memory‑Stream speichern
Anstatt sie auf die Festplatte zu schreiben, können Sie Nachrichten in einen Memory‑Stream speichern – nützlich, um E‑Mails in einer Datenbank zu speichern oder im Speicher zu verarbeiten.
Das folgende Code‑Beispiel zeigt, wie Sie E‑Mail‑Nachrichten aus dem Posteingang eines Exchange‑Servers in Memory‑Streams speichern.
Nachrichten im MSG-Format speichern
Um Nachrichten als MSG zu speichern:
- Rufen Sie die Nachricht ab mit FetchMessage(), das eine MailMessage.
- Rufen Sie MailMessage::Save() mit MSG‑Speicheroptionen.
Das folgende Code‑Beispiel demonstriert, wie Sie E‑Mail‑Nachrichten aus dem Posteingang eines Exchange‑Servers abrufen und als Outlook‑MSG‑Dateien speichern.
Nachrichtendetails über Nachrichten‑URI abrufen
Wenn nur eine eindeutige Nachrichten‑URI verfügbar ist, können Sie dennoch die vollständigen ExchangeMessageInfo Objekte. Die IEWSClient::ListMessages() Überladung akzeptiert eine Liste von Nachrichten‑IDs (URIs) und gibt ein ExchangeMessageInfoCollection. Verwenden Sie diese Funktion, wenn Sie Nachrichten‑URIs extern speichern oder erhalten und Metadaten (Betreff, Absender, Größe usw.) laden müssen, ohne die vollständigen Nachrichten abzurufen.
Das folgende Code‑Beispiel zeigt, wie Sie mehrere E‑Mail‑Nachrichten auf einem Exchange‑Server erstellen und anschließend deren Nachrichteninformationen über eindeutige Kennungen abrufen.
Vollständigen Nachrichteninhalt abrufen
ListMessages() gibt Zusammenfassungs‑Informationen (Betreff, Absender, IDs) zurück. Um den gesamten Nachrichteninhalt — Body, Header, Anhänge — zu laden, verwenden Sie FetchMessage().
Das folgende Code‑Beispiel zeigt, wie Sie vollständige Nachrichten aus dem Posteingang eines Exchange‑Servers abrufen und Anhangsinformationen extrahieren:
- Erstellen Sie ein IEWSClient Instanz.
- Rufen Sie ListMessages() um grundlegende Nachrichten‑Metadaten zu erhalten.
- Extrahieren Sie die UniqueUri jeder Nachricht.
- Rufen Sie FetchMessage() um vollständige Nachrichten‑Details abzurufen.
Nachrichtengröße abrufen (ohne vollständige Nachricht herunterzuladen)
Aspose.Email liefert Nachrichten‑Größeninformationen, ohne die gesamte E‑Mail abzurufen, über die ExchangeMessageInfo::Size Eigenschaft.
Das ist nützlich für:
- Postfachstatistiken
- Quotenberechnungen
- große Nachrichten vor dem Herunterladen filtern
Das folgende Code‑Beispiel demonstriert, wie Sie Nachrichten‑Metadaten inklusive Größe aus dem Posteingang eines Exchange‑Servers auflisten und anzeigen.
E‑Mails aus Exchange‑öffentlichen Ordnern herunterladen
Exchange‑öffentliche Ordner ermöglichen das Speichern gemeinsamer Nachrichten für mehrere Benutzer.
Aspose.Email IEWSClient ermöglicht Ihnen die folgenden Operationen mit diesen Ordnern und den darin gespeicherten Nachrichten:
- Öffentliche Ordner auflisten
- Unterordner rekursiv durchsuchen
- Nachrichten herunterladen und speichern (z. B. als MSG‑Dateien)
Hinweis: Microsoft Exchange Server 2007 oder neuer ist erforderlich, da frühere Versionen EWS nicht unterstützen.
Das folgende Code‑Beispiel zeigt, wie Sie Nachrichten aus allen öffentlichen Ordnern und deren Unterordnern eines Exchange‑Servers rekursiv herunterladen und lokal als Outlook‑MSG‑Dateien speichern.
Nachrichten zwischen Exchange‑Ordnern verschieben
Sie können Nachrichten von einem Exchange‑Ordner zu einem anderen verschieben, indem Sie die IEWSClient::MoveItem Methode. Sie erfordert:
- Die eindeutige URI der zu verschiebenden Nachricht.
- Die eindeutige URI des Zielordners.
Das folgende Code‑Beispiel demonstriert, wie Sie bestimmte E‑Mail‑Nachrichten aus dem Posteingang eines Exchange‑Servers anhand von Inhaltskriterien filtern und in einen anderen Ordner verschieben.
- Mit dem Exchange‑Server über EWS‑Anmeldeinformationen verbinden.
- Postfachinformationen erhalten (Ordner‑URIs).
- Alle Nachrichten aus dem Posteingang auflisten.
- Durchlaufen Sie jede Nachricht.
- Prüfen, ob der Betreff "process this message" enthält.
- Passende Nachrichten in den Ordner Gelöschte Elemente verschieben.
- Ausgabe einer Bestätigung für jede verschobene Nachricht.
Nachrichten aus einem Exchange‑Ordner löschen
Sie können E-Mails aus einem Ordner mit Hilfe der IEWSClient->DeleteMessage Methode. Sie nimmt die eindeutige URI der Nachricht als Parameter.
Das folgende Code‑Beispiel demonstriert, wie Sie bestimmte E‑Mail‑Nachrichten aus dem Posteingang eines Exchange‑Servers anhand von Betreffkriterien filtern und löschen.
- Durchlaufen Sie die Nachrichten im Posteingang.
- Verarbeite Nachrichten basierend auf bestimmten Kriterien (in diesem Beispiel finden wir ein Schlüsselwort im Betreff der Nachricht).
- Passende Nachrichten löschen.
Nachrichten in einen anderen Exchange‑Ordner kopieren
Verwenden IEWSClient::CopyItem um eine Nachricht in einen anderen Ordner zu duplizieren. Die überladene Version gibt die URI der neu erstellten Kopie zurück.
Das folgende Code‑Beispiel zeigt, wie Sie eine E‑Mail‑Nachricht auf einem Exchange‑Server erstellen und in einen anderen Ordner kopieren.