Microsoft Graph API E-Mail: Senden, Lesen und Synchronisieren (Leitfaden 2026)

Microsoft Graph-API

Microsoft Graph API E-Mail: Vollständiger Integrationsleitfaden für Entwickler (2026)

18 Minuten Lesezeit 17. April 2026 Python / Node.js / REST

Die Microsoft Graph API ist der einheitliche REST-Endpunkt für den Zugriff auf Outlook- und Exchange-E-Mail-Daten: Lesen, Senden, Suchen und Empfangen von Webhooks für jedes Postfachereignis. Diese Anleitung führt Sie durch die OAuth 2.0-Einrichtung, Live-Codebeispiele, Ratenbegrenzungen und wie Sie Microsoft Graph mit Gmail und IMAP unter einem einzigen SDK vereinheitlichen können.

Microsoft Graph-API OAuth 2.0 Outlook E-Mail MSAL Webhaken
read_outlook_emails.py
import Anfragen # Unipile Vereinheitlichte E-Mail-API # Liest Outlook-E-Mails über Microsoft Graph Basis = "https://api.unipile.com:13465/api/v1" ÜBERSCHRIFTEN = { "X-API-KEY": "IHR_ACCESS_TOKEN", "Akzeptieren": "application/json" } def get_outlook_emails(account_id, limit=20): r = Anfragen.bekommen.( f"{BASIS}/emails", headers=HEADERS, params={ "Konto_ID"Konto-ID, "Grenze"Grenze } ) return r.json()["E-Mails"] Emails = get_outlook_emails("acc_outlook_123") für e in E-Mails print(e["Betreff"], e["von"])
20 E-Mails über Microsoft Graph aus Outlook abgerufen
Kompatibel mit: Outlook-Logo Gmail-Logo IMAP-Logo
E-Mail-Integration aufbauen?

Lesen Sie unseren Vollständiger Leitfaden zur E-Mail-API – OAuth-Flows, Synchronisation, Senden und Anbietervergleich.

Definition

Was ist die Microsoft Graph API für E-Mails?

Die Microsoft Graph API ist das einheitliche REST-Gateway für alle Microsoft 365-Dienste, einschließlich E-Mail, Kalender, Kontakte und Dateien. Speziell für E-Mails stellt sie die /v1.0/ich/nachrichten Endpunkt, der Entwicklern programmatischen Zugriff auf jede Outlook- und Exchange-Postfach gibt. Er ersetzte ältere Protokolle (Basic Auth, EWS) und ist nun der einzige offiziell unterstützte Weg, um programmatisch auf Outlook-E-Mails mit OAuth 2.0 zuzugreifen.

Entwickler Definition

Die Microsoft Graph API für E-Mail stellt die RESTful Schnittstelle Microsoft 365-Postfachdaten – einschließlich Nachrichten, Ordnern, Anhängen und Postfacheinstellungen – unter der https://graph.microsoft.com/v1.0/me/messages Endpunkt. Er authentifiziert sich über Azure Active Directory OAuth 2.0, unterstützt delegierte und Anwendungsberechtigungen und ermöglicht Echtzeitereignisse über Benachrichtigungsabonnements ändern (Webhooks). Dies ist der empfohlene Ersatz für alle veralteten Basic-Authentifizierungsabläufe.

Microsoft Graph API ist die empfohlener Ersatz Für die veraltete Basisauthentifizierung erfordert der E-Mail-Zugriff auf Outlook und Exchange jetzt OAuth 2.0 über Graph. Die Basisauthentifizierung wurde im Oktober 2022 vollständig eingestellt.

Kriterium Microsoft Graph-API Direktes SMTP / IMAP
Authentifizierung OAuth 2.0 (MSAL) Benutzername + Passwort (veraltet)
Höchstsätze 10.000 Anfragen / 10 Min pro App Kein Standardlimit (serverabhängig)
Eigenschaften Voll: lesen, senden, suchen, Webhooks, Ordner Begrenzt: Nur Basis-Senden/Empfangen
Komplexität OAuth-Flow + Azure App-Registrierung Geringer Einrichtungsaufwand, hoher Wartungsaufwand
Unipile-Unterstützung Nativ - kein OAuth-Flow erforderlich Nativ – IMAP-Fallback
Vorteile

Warum die Microsoft Graph API für die E-Mail-Integration verwenden?

Mit Microsoft Graph erhält Ihre Anwendung sicheren, tokenbasierten Zugriff auf das weltweit größte Unternehmensemail-Ökosystem – über 400 Millionen Outlook- und Exchange-Postfächer. Hier sind die vier Hauptgründe, warum Entwickler den E-Mail-Endpunkt der Microsoft Graph API wählen.

Vereinheitlichte OAuth 2.0-Authentifizierung

Eine Azure App-Registrierung deckt alle Outlook-, Exchange- und Microsoft 365-Postfächer ab. Delegierte Berechtigungen ermöglichen es Benutzern, einmal zuzustimmen; Anwendungsberechtigungen ermöglichen den unbeaufsichtigten serverseitigen Zugriff ohne Benutzerinteraktion.

Voller Postfachzugriff

Nachrichten lesen, senden, beantworten, verschieben und löschen. Ordner verwalten, den gesamten Posteingang durchsuchen, Anhänge verwalten und Mail-Regeln festlegen – alles über dieselbe REST-Schnittstelle mit einem vorhersagbaren JSON-Antwortschema.

Echtzeit-Webhooks

Abonnieren Sie Benachrichtigungen über Änderungen im Postfach und erhalten Sie einen HTTP-POST an Ihren Endpunkt, wenn eine neue E-Mail eintrifft, eine Nachricht gelesen wird oder sich ein Ordner ändert. Kein Polling, keine Verzögerungen - Ereignisse werden nahezu in Echtzeit geliefert.

Exchange, Outlook und M365 Support

Ein einziger API-Endpunkt deckt persönliche Outlook-Konten, geschäftliche Microsoft 365-Mandanten und lokale Exchange-Server (über Hybrid) ab. Eine Integration deckt das gesamte Microsoft-E-Mail-Ökosystem ohne separate Codepfade ab.

Einrichtung von Microsoft OAuth für die Outlook-API - Unipile

Einrichtung von Microsoft OAuth für die Outlook API

Microsoft OAuth Dokumentation

Standardmäßig verwendet Ihre Integration die OAuth-Zugangsdaten von Unipile. Um eine vollständig White-Label-Erlebnis wenn Endbenutzer ihr Microsoft-Konto verbinden, erstellen Sie Ihre eigene App in Microsoft Entra ID. Folgen Sie der 7 Schritte unten um Ihre App zu registrieren, Berechtigungen zu konfigurieren und sie mit Unipile zu verbinden.

1
2
3
4
5
6
7
01

Ein Microsoft Entra-ID-Konto erstellen

Wenn Sie noch keine haben, erstellen Sie eine kostenlose Microsoft Entra ID Konto (früher Azure Active Directory). Dies ist das Admin-Portal, in dem Sie Ihre OAuth-Anwendung registrieren.

02

Eine neue App im Azure Portal registrieren

Anmelden bei portal.azure.com, geh zu Microsoft Entra ID, und klicken Neue Registrierung.

  • Nennen Sie Ihre App: Dieser Name wird Ihren Endbenutzern während des OAuth-Zustimmungsbildschirms angezeigt.
  • Unterstützte Kontotypen: Wählen Sie "Konten in Verzeichnisdiensten der Organisation (beliebige Microsoft Entra ID, mandantenübergreifend) und persönliche Microsoft-Konten" aus, um sowohl geschäftliche als auch persönliche Office 365-Konten zu unterstützen.
Azure Active Directory-Dienst
Neue App-Registrierung
03

Umleitungs-URIs hinzufügen

Gehen Sie zum Authentifizierung Panel und klicken URI hinzufügen im Web-Bereich. Hinzufügen 2 Weiterleitungs-URIs mit Ihrer Unipile DSN (verfügbar in der Unipile Dashboard, oben rechts):

https://{{YOUR_DSN}}/api/v1/hosted/microsoft_auth_request_callback
https://{{YOUR_DSN_less_port}}/api/v1/hosted/microsoft_auth_request_callback/port{{YOUR_PORT}}
04

API-Berechtigungen konfigurieren

Geh API-Berechtigungen > Eine Berechtigung hinzufügen > Microsoft Graph, dann füge Folgendes hinzu Delegierte Berechtigungen:

Mail.Lesen
Mail.ReadWrite
Mail.Senden

Für Kalenderfunktionen fügen Sie auch hinzu: Calendars.ReadWrite, Calendars.Read, Calendars.Read.Shared, Calendars.ReadWrite.Shared. Fügen Sie diese auch in Ihren Unipile Dashboard-Berechtigungseinstellungen hinzu.

API-Berechtigung hinzufügen
Wählen Sie Microsoft Graph
Delegierte Berechtigungen hinzufügen
Anwendungsberechtigung Bildschirm
05

Einen Client-Secret erstellen

Geh Zertifikate & Geheimnisse, klicken Neues Client-Geheimnis. Benennen Sie das Geheimnis und legen Sie ein Ablaufdatum fest 730 Tage (24 Monate), dann auf "Hinzufügen" klicken.

Das ist wichtig: Kopieren Sie den geheimen Wert sofort. Sie können ihn anschließend nicht mehr von dieser Seite abrufen. Stellen Sie eine Kalendererinnerung vor Ablauf ein, um Serviceunterbrechungen zu vermeiden.
Neues Client-Geheimnis
Ablaufdatum festlegen
Geheimen Wert kopieren
06

Verbindung mit Unipile Dashboard

Gehen Sie zum Unipile Dashboard, navigieren Sie zu Einstellungen > Microsoft OAuth.

  • Fügen Sie den Text hier ein Anwendungs- (Client-) ID von der Azure-Übersichtsseite.
  • Füge die ein Geheimer Wert von der Seite Zertifikate und Geheimnisse.
  • Klicken Speichern Sie.
Sie sind nun bereit, Microsoft-Konten mit Unipile zu verbinden. Ihre Endbenutzer sehen den Namen und das Logo Ihrer App auf dem OAuth-Zustimmungsbildschirm.
07

Verbindungsprüfung

Lösen Sie vom Unipile Dashboard aus eine neue Verknüpfung mit einem Microsoft-Konto aus, um zu überprüfen, ob Ihre benutzerdefinierten OAuth-Anmeldeinformationen ordnungsgemäß funktionieren. Sie sollten Ihr App-Name und Branding in der Microsoft-Zustimmungsaufforderung anstelle der Standardeinstellungen von Unipile.

Microsoft-Zustimmungsaufforderung mit verifiziertem Herausgeber
Optional, für Produktions-Apps
8
Verifizierter Publisher werden
Empfohlen für die Produktion, entfernt die "nicht verifiziert"-Warnung im Zustimmungsbildschirm

Mit Verifizierung erscheint ein blaues Häkchen in der Einverständnisaufforderung. Ohne dieses können professionelle Konten eine Warnung "nicht verifizierter Herausgeber" sehen.

Schritt 1: Trete dem Microsoft Partner Network bei

Schritt 2: Überprüfen Sie Ihre Domain

Erstelle eine Datei mit dem Namen microsoft-identity-association.json und dort hosten:

https://yourdomain.com/.well-known/microsoft-identity-association.json

Schritt 3: Verknüpfen Sie Ihre Partner Global Account (PGA) ID

  • Finden Sie Ihre PGA-ID über Partner Center.
  • Im Azure Portal, gehen Sie zu App-Registrierungen > Ihre App > Branding & Eigenschaften, geben Sie die PGA-ID ein und speichern Sie.

Für vollständige Details siehe die Microsoft Publisher Verifizierungsdokumentation.

9
"Administratorfreigabe erforderlich" verarbeiten"
Wenn Endbenutzer einen Zustimmungsblock von ihrem IT-Administrator sehen

Wenn ein Benutzer "Administratorgenehmigung erforderlich" sieht, wurde die erforderliche Zustimmung auf Mandantenebene nicht erteilt. Zwei Methoden zur Behebung:

Methode 1: Administratoreinwilligungsanforderung in Microsoft Entra

Ein Microsoft-Administrator muss die ausstehende Administratorzustimmungsanforderung überprüfen und genehmigen. Siehe die Microsoft-Dokumentation zur Überprüfung von Administratorzustimmungsanfragen.

Methode 2: OAuth-Anmeldung als Administrator mit mandantenweiter Zustimmung

  • Der Administrator startet den OAuth-Login-Flow von Ihrer App.
  • Während der Microsoft-Autorisierung muss der Administrator Folgendes ankreuzen: "Einwilligung im Namen Ihrer Organisation".
  • Dies erteilt die Zustimmung für alle Benutzer in der Organisation und verhindert die zukünftige Aufforderung für neue Benutzer.

Vollständige Details in der Microsoft-Anleitungen zur Fehlerbehebung bei Einwilligungen.

Anwendungsfälle

Microsoft Graph API E-Mail-Anwendungsfälle

Der Microsoft Graph API-E-Mail-Endpunkt unterstützt eine Vielzahl von SaaS-Anwendungen, die auf Outlook- und Exchange-Postfächern basieren. Dies sind die drei gängigsten Integrationsmuster, die Teams heute beim Aufbau auf der Graph API verwenden.

CRM - Kontakt- und E-Mail-Synchronisation

Synchronisieren Sie Outlook-E-Mail-Threads und Kontakte direkt in Ihr CRM. Ordnen Sie Absender bestehenden Geschäftsabschlüssen zu, protokollieren Sie jede Unterhaltung automatisch und zeigen Sie die Beziehungshistorie ohne manuelles Kopieren und Einfügen aus Outlook an.

E-Mail-API-Leitfaden
ATS - Bewerbermanagement

E-Mail-Threads von Kandidaten über Outlook-Postfächer hinweg verfolgen. Eingehende Bewerbungs-E-Mails parsen, Anhänge extrahieren und sie an die richtige Job-Pipeline weiterleiten – alles über den Microsoft Graph API-E-Mail-Endpunkt ohne manuelles Eingreifen.

E-Mail senden API
Support-Tools - Ticket-Weiterleitung

Eingehende Outlook-E-Mails in Support-Tickets umwandeln. Graph-Webhooks verwenden, um Echtzeit-Ereignisse für neue E-Mails zu empfangen, nach Betreff oder Absenderdomäne zu klassifizieren und an die richtige Team-Warteschlange weiterzuleiten - manuelle Triage durch automatisierte Logik ersetzen.

Vereinheitlichte E-Mail-API
Eigenschaften

Hauptmerkmale der Microsoft Graph API für E-Mail

Die Microsoft Graph API für E-Mails bietet ein umfassendes Spektrum an Funktionen, die weit über das einfache Senden und Empfangen hinausgehen. Hier sind die sechs wichtigsten Funktionen, die jeder Entwickler kennen sollte, bevor er auf der E-Mail-Stapelverarbeitung der Microsoft Graph API aufbaut.

Lesen, Senden und Antworten

Hole einzelne Nachrichten oder paginierte Listen ab. Sende neue E-Mails oder antworte inline. Verschiebe Nachrichten zwischen Ordnern oder markiere sie als gelesen/ungelesen.

GET /v1.0/ich/nachrichten
Anhänge

Dateianhänge hochladen, herunterladen und auflisten für jede Nachricht. Unterstützt Inline-Anhänge (eingebettete) und große Dateiuploads über Upload-Sitzungen für Dateien über 3 MB.

GET /v1.0/me/nachrichten/{id}/anhänge
Ordner und Etiketten

Ordner für E-Mails erstellen, umbenennen und löschen. Alle E-Mail-Ordner auflisten, Nachrichten zwischen ihnen verschieben und untergeordnete Ordnerhierarchien verwalten, genau wie in Outlook.

GET /v1.0/me/mailFolders
Suchen und Filtern

Verwenden Sie OData-Abfrageparameter ($filter,$search, $orderby), um E-Mails nach Absender, Betreff, Datumsbereich oder Schlüsselwort zu finden. Unterstützt KQL für erweiterte Volltextsuche.

GET /me/nachrichten?$suche="projekt"
Webhook-Abonnements

Abonnieren Sie Änderungsbenachrichtigungen für Postfachereignisse. Erhalten Sie nahezu in Echtzeit HTTP POST-Callbacks, wenn neue E-Mails eintreffen, Nachrichten gelesen werden oder Ordner sich ändern.

POST /v1.0/abonnements
Stapelverarbeitung

Kombinieren Sie bis zu 20 einzelne Graph API-Anforderungen in einem einzigen HTTP-Aufruf über den $Batch-Endpunkt. Reduziert die Roundtrips für Vorgänge wie das massenhafte Lesen von E-Mails drastisch.

POST /v1.0/$Stapel
Code-Beispiele

So senden, lesen und synchronisieren Sie E-Mails mit der Microsoft Graph API

Drei produktionsreife Muster, die die Kernfunktionen abdecken, die jeder Entwickler benötigt: E-Mail versenden, Nachrichten mit Filtern lesen und inkrementelle Delta-Synchronisierung für die Echtzeit-Postfachüberwachung.

POST /v1.0/me/sendMail — Python über Unipile
send_outlook_email.py
import Anfragen # Unipile Vereinheitlichte E-Mail-API # Sendungen über Microsoft Graph – kein direktes OAuth erforderlich Basis = "https://api.unipile.com:13465/api/v1" ÜBERSCHRIFTEN = { "X-API-KEY": "IHR_ACCESS_TOKEN", "Content-Type": "application/json" } def E-Mail senden(konto_id, an, betreff, nachricht): Nutzlast = { "Konto_ID"Konto-ID, "zu": [{"Kennung": bis}], "Betreff"Betreff:, "Körper"Körper } r = Anfragen.Beitrag(f"{BASIS}/emails", Kopfzeilen=Kopfzeilen, json=Nutzlast return r.json() # Beispielanwendung E-Mail senden( "acc_outlook_123", zu="recipient@company.com", Thema="Nachbereitung des Treffens", Körper="Hallo, ich melde mich wegen unseres Gesprächs..." )
E-Mail über Microsoft Graph gesendet – Outlook-Konto acc_outlook_123
Direktes Graph-API-Äquivalent: POST https://graph.microsoft.com/v1.0/me/sendMail mit Nachrichten.anEmpfänger, Betreff der Nachrichtund Nachricht.Körper.Inhalt. Unipile abstrahiert die OAuth-Token-Aktualisierung und das MIME-Handling. Siehe die API-Leitfaden zum Senden von E-Mails zur Unterstützung von Anhängen und zur Antwort-Thread-Erstellung.
GET /v1.0/me/messages — filtern, auswählen, paginieren
read_outlook_emails.py
import Anfragen # Outlook-E-Mails mit Filtern über Unipile lesen Basis = "https://api.unipile.com:13465/api/v1" ÜBERSCHRIFTEN = {"X-API-KEY": "IHR_ACCESS_TOKEN"} def list_outlook_emails(konto_id, absender_filter=Keine, Grenze=20): Parameter = { "Konto_ID"Konto-ID, "Grenze"Grenze } wenn Absenderfilter # entspricht $filter=from/emailAddress/address eq '...' Parameter"von"] = Senderfilter r = Anfragen.bekommen.(f"{BASIS}/emails", Kopfzeilen=KOPFZEILEN, Parameter=Parameter return r.json().erhalten("Gegenstände", []) # Holen Sie die letzten 20 E-Mails von einem bestimmten Absender Emails = list_outlook_emails("acc_outlook_123", Absenderfilter="hr@acme.com") für e in E-Mails print(e["Betreff"], e["von"], e["Datum"])
20 Nachrichten abgerufen aus Outlook — gefiltert nach Absenderdomäne
Nativ unterstützte OData-Filter: $Filter, $Suche, $auswählen, $sortieren nach, $oben. Benutzen $search="Betreff:Rechnung" für KQL Volltextsuche. Anhänge über 3 MB erfordern eine Sitzung hochladen (POST /createUploadSession) — keine einzige Mehrteilanforderung.
GET /v1.0/me/mailFolders/inbox/messages/delta — inkrementelle Synchronisierung
delta_sync_outlook.py
import Anfragen # Delta-Synchronisation – nur E-Mails NEU seit letzter Synchronisation abrufen # Unipile verwaltet den Lebenszyklus von deltaToken automatisch Basis = "https://api.unipile.com:13465/api/v1" ÜBERSCHRIFTEN = {"X-API-KEY": "IHR_ACCESS_TOKEN"} def neue_e-mails_synchronisieren(account_id, Cursor=Keiner): """ Gibt nur E-Mails zurück, die seit dem letzten Aufruf empfangen wurden. cursor = undurchsichtiger Paginierungstoken (zwischenspeichern zwischen Aufrufen). """ Parameter = {"Konto_ID": konto_id} wenn Mauszeiger Parameter"Cursor"] = Cursor r = Anfragen.bekommen.(f"{BASE}/emails/sync", Kopfzeilen=KOPFZEILEN, Parameter=Parameter Daten = r.json() return data.hole("Gegenstände", []), data.get("Cursor") # Erste Synchronisation – kein Cursor E-Mails, nächster_Cursor = neue_e-mails_synchronisieren("acc_outlook_123") # Speichern Sie next_cursor in Ihrer DB, verwenden Sie ihn für nachfolgende Aufrufe print(f"{len(emails)} neue E-Mails – nächster Cursor gespeichert")
Delta-Synchronisierung abgeschlossen — 0 API-Aufrufe für bereits gesehene Nachrichten verschwendet
Wie Delta-Tabellen nativ auf Graph funktionieren: GET /me/mailFolders/inbox/messages/delta gibt zurück eine @odata.deltaLink beim ersten Aufruf. Speichern Sie es und verwenden Sie es beim nächsten Mal – Graph gibt nur die Differenz zurück. Keine Abfrage voller Postfach = 10x weniger API-Aufrufe als Standard GET /messages. Unipiles /e-mails/synchronisieren Der Endpunkt umschließt dieses Muster mit automatischer Tokenverwaltung.
Real-Time

Microsoft Graph API Webhooks für E-Mail-Ereignisse

Microsoft Graph-Abonnements (Webhooks) ermöglichen Ihrem Server, HTTP POST-Benachrichtigungen im Moment zu erhalten, in dem eine E-Mail eintrifft, gelesen, verschoben oder gelöscht wird. Nachfolgend finden Sie ein vollständiges Python-Beispiel für die Abonnierung von Posteingangsereignissen sowie Details zur Lebenszyklusverwaltung.

Eine Graph-Webhook-Abonnement hat zwei erforderliche Felder: Typ ändern (welche Veranstaltungen man sich ansehen sollte) und BenachrichtigungsURL (Ihr HTTPS-Endpunkt). Microsoft sendet eine validierungstoken Abfrageparameter bei erster Abonnementerstellung. Ihr Endpunkt muss ihn innerhalb von 10 Sekunden als Nur-Text zurückgeben, um den Besitz zu bestätigen.

Graph-Abonnements laufen maximal ab nach 4230 Minuten (~3 Tage) für Mail-Ressourcen. Ihr Server muss vor Ablauf über erneuern PATCH /v1.0/abonnements/{id} oder Sie erhalten weiterhin keine Benachrichtigungen mehr.

1 Lebenszyklusbenachrichtigungen
Microsoft Graph sendet Lebenszyklusbenachrichtigungen an einen separaten lifecycleNotificationUrl wenn ein Abonnement kurz vor dem Ablauf steht oder widerrufen wurde. Ihr Server muss mit HTTP 202 antworten, um dies zu bestätigen. Ein Nichtantworten führt zur Beendigung des Abonnements.
2 ValidierungsToken-Handshake
Wenn Sie POST an /v1.0/subscriptions senden, ruft Microsoft Ihre notificationUrl sofort mit einer GET-Anfrage ab, die Folgendes enthält ?validationToken=XXX. Sie müssen das Token als Plain Text (Content-Type: text/plain) mit HTTP 200 innerhalb von 10 Sekunden zurückgeben. Ein Timeout führt zum Fehlschlagen der Listenerstellung.
3 Abonnementablauf
E-Mail-Abonnements laufen nach maximal 4230 Minuten ab. Verwenden Sie einen Hintergrundjob oder Cron, um die AblaufdatumUhrzeit bevor er verfällt. Sie können ein Abonnement auch von Grund auf neu erstellen. Microsoft berechnet keine zusätzlichen Gebühren für Verlängerungen.
create_subscription.py
import Anfragen, Datumzeit Zugriffstoken = "IHRE_GRAFIKK_TOKEN" ENDPUNKT = "https://graph.microsoft.com/v1.0/subscriptions" # Verfall: maximal 4230 Min. ab jetzt für Mailressourcen Ablauf = ( datetime.datetime.jetzt_utc() + datetime.timedelta(Minuten=4200) ).isoformat() + "Z" Nutzlast = { "Änderungstyp": "erstellt", "notificationUrl": "https://yourdomain.com/webhook", "Ressource": "me/mailFolders('Posteingang')/messages", "AblaufdatumUhrzeit": Ablauf, "clientZustand": "meinGeheimerZustand" } r = Anfragen.Beitrag( ENDPUNKT, json=Nutzlast, Kopfzeilen={ "Autorisierung": Bearer {ACCESS_TOKEN}", "Content-Type": "application/json" } ) print(R.json()["id"]) # sub_xxxxxxxx-xxxx-xxxx-xxxx
201 Erstellt, Abonnement für Posteingangsereignisse aktiv
Unipile

Vereinfachen Sie - Nutzen Sie die einheitliche E-Mail-API von Unipile

Verbinden Sie Microsoft Graph, Gmail und IMAP mit einem einzigen SDK. Kein OAuth-Flow pro Anbieter, keine Token-Aktualisierungslogik, keine zu wartende Webhook-Infrastruktur. Ihr Team liefert E-Mail-Funktionen in Tagen, nicht Wochen.

Kostenloser Start

Keine Kreditkarte erforderlich. SOC 2 Typ II konform.

Grenzen

Microsoft Graph-API-Ratenbegrenzungen und Fehlerbehandlung

Der E-Mail-Endpunkt der Microsoft Graph API wendet Drosselungen auf mehreren Ebenen an: pro Benutzer, pro Anwendung und pro Mandant. Das Verständnis dieser Limits, bevor Sie in die Produktion gehen, verhindert unbemerkte Fehler und eine geringere Zuverlässigkeit Ihrer Integration.

Wenn gedrosselt, gibt Microsoft Graph zurück HTTP 429 Zu viele Anfragen with a Erneut versuchen nach Header, der die Wartezeit in Sekunden angibt. Lesen Sie diesen Header immer und verhalten Sie sich entsprechend. Wenn Sie nach einer 429-Antwort Anfragen senden, verlängert dies das Drosselungsfenster, anstatt es zu verkürzen.

HTTP-Code Fehlername Ursache Korrigieren
429 Zu viele Anfragen Ratenlimit überschritten (10.000 Anfragen / 10 Min. pro App oder 1.000 Anfragen / 1 Min. pro Nutzer) Read Retry-After-Header. Implementieren Sie exponentielles Backoff. Verwenden Sie $Batch, um Anfragen zu kombinieren.
401 Nicht autorisiert Zugriffstoken abgelaufen oder fehlender Autorisierungsheader Aktualisiere Token über MSAL. Überprüfe Token-Ablauf vor jeder Anfrage. Verwende Token Caching.
403 Verboten Fehlende Berechtigung Mail.Read oder Mail.Send in Azure App Registration Erforderliche Graph-Berechtigungen im Azure Portal hinzufügen und erneut zustimmen (oder Admin-Zustimmung für App-Berechtigungen).
404 RessourceNichtGefunden Nachrichten-ID oder Ordner-ID nicht vorhanden (gelöscht oder falscher Mandant) IDs vor der Ausführung über GET verifizieren. 404 als Signal für Soft Delete behandeln.
500 Interner Serverfehler Vorübergehender Microsoft-Serverfehler Erneut versuchen mit exponentiellem Backoff (1s, 2s, 4s). Protokollieren Sie den Request-ID-Header für den Microsoft-Support.
Multi-Anbieter

Jenseits von Microsoft Graph: Vereinheitlichte E-Mail-API für Gmail, Outlook und IMAP

Die Verwaltung der E-Mail-Integration mit der Microsoft Graph API ist nur der Anfang. Die meisten SaaS-Produkte müssen Gmail, Outlook und IMAP gleichzeitig unterstützen – das bedeutet drei separate OAuth-Flows, drei Token-Refresh-Schleifen und drei Webhook-Systeme. Unipile's Vereinheitlichte E-Mail-API abstrahiert alle drei Anbieter hinter einem einzigen Endpunkt.

Gmail-LogoGmail-API Outlook-LogoMicrosoft Graph IMAP-LogoIMAP / SMTP

Mit Unipiles einheitliche E-Mail-API-Integration, Sie schreiben eine Integration und unterstützen sofort alle drei Anbietertypen. Verknüpfte Konten werden von Unipile verwaltet – Ihr Backend kommuniziert nur mit einem einzigen REST-Endpunkt, unabhängig davon, ob das Postfach des Benutzers auf Microsoft Graph, Gmail oder IMAP läuft.

Keine OAuth-Flows zu verwalten Unipile übernimmt für Sie die Token-Beschaffung, -Aktualisierung und -Widerrufung für Microsoft Graph und Gmail.

Vereinheitlichte Webhook-Ereignisse - eine notificationUrl empfängt E-Mail-Ereignisse von allen Anbietern mit einem standardisierten JSON-Schema. Keine anbieterbezogene Abonnementverwaltung.

SOC 2 Typ II konform - Alle E-Mail-Daten sind während der Übertragung verschlüsselt. Unipile speichert keine E-Mail-Inhalte über das hinaus, was Ihre Integration erfordert.

Unterstützte E-Mail-Anbieter
Outlook / Microsoft 365
über die Microsoft Graph API
Aktiv
Google Mail
über die Gmail API (Google)
Aktiv
IMAP / SMTP
Universeller E-Mail-Fallback
Aktiv
Los geht's

Integrieren Sie Microsoft Graph E-Mail in wenigen Minuten

Schließen Sie sich über 200 SaaS-Teams an, die Unipile nutzen, um Outlook, Gmail und IMAP über eine einzige API zu verbinden. Keine Herstellerabhängigkeit. SOC 2-konform.

FAQ

Häufig gestellte Fragen

Alles, was Entwickler fragen, bevor sie auf den E-Mail-Endpunkt der Microsoft Graph API aufbauen – von der Authentifizierung über Ratenbegrenzungen bis hin zur Anbieterabdeckung.

01
Was ist die Microsoft Graph API für E-Mails?
Die Microsoft Graph API für E-Mail ist der offizielle REST-Endpunkt von Microsoft für den Zugriff auf Outlook- und Exchange-Postfachdaten. Er befindet sich unter https://graph.microsoft.com/v1.0/me/messages und nutzt die OAuth 2.0-Authentifizierung über Azure Active Directory. Es unterstützt das Lesen, Senden, Suchen und Verwalten von E-Mails sowie das Empfangen von Echtzeit-Änderungsbenachrichtigungen über Webhook-Abonnements.
02
Wie funktioniert OAuth 2.0 mit Microsoft Graph?
Microsoft Graph verwendet Azure Active Directory (Entra ID) zur Authentifizierung. Sie registrieren eine Anwendung im Azure-Portal, konfigurieren die erforderlichen Graph-API-Berechtigungen (wie Mail.Lesen und Mail.Senden), und verwenden Sie die Microsoft Authentication Library (MSAL), um Zugriffstoken zu erwerben. Es gibt zwei Hauptabläufe: delegiert (Benutzer meldet sich interaktiv an) und Bewerbung (Server-zu-Server, keine Benutzerinteraktion). Token laufen nach 1 Stunde ab und müssen automatisch aktualisiert werden.
03
Unterstützt die Microsoft Graph API IMAP?
Die Microsoft Graph API verwendet intern kein IMAP – sie ist eine REST-API, die das zugrundeliegende E-Mail-Protokoll abstrahiert. Outlook-Konten können jedoch weiterhin über IMAP zugegriffen werden (mit OAuth 2.0, da Basic Auth ausgemustert wurde). Für die Outlook-E-Mail-Integration empfiehlt Microsoft dringend die Verwendung der Graph API gegenüber IMAP, da sie mehr Funktionen, eine bessere Leistung und vollständige Webhook-Unterstützung bietet. Für Nicht-Microsoft-Mailboxen, IMAP bleibt der universelle Ausweg.
04
Wie sind die Ratenbegrenzungen für die Microsoft Graph E-Mail-API?
Microsoft Graph erzwingt die Drosselung auf mehreren Ebenen. Die allgemeine Grenze ist 10.000 Anfragen pro 10 Minuten pro Anwendung. Benutzerlimits können je nach Operationstyp niedriger sein. Bei Drosselung gibt die API HTTP 429 mit einem Erneut versuchen nach Header. Best Practices: Implementieren Sie exponentielle Backoffs, verwenden Sie $Batches, um bis zu 20 Anfragen in einem HTTP-Aufruf zu bündeln, und cachen Sie häufig abgerufene Daten, um redundante Aufrufe zu minimieren.
05
Wie richte ich Webhooks mit der Microsoft Graph API ein?
POST an /v1.0/abonnements with a Typ ändern (z.B. "erstellt"), ein BenachrichtigungsURL deinen HTTPS-Endpunkt, und ein Ressource (z. B. "me/mailFolders('Inbox')/messages"). Microsoft sendet sofort eine GET-Anfrage mit validierungstoken - Ihr Server muss ihn innerhalb von 10 Sekunden als Klartext zurückgeben. Abonnements laufen nach maximal 4230 Minuten ab und müssen vor Ablauf über PATCH erneuert werden.
06
Kann ich E-Mails im Namen eines Benutzers mit Microsoft Graph senden?
Ja. Mit delegierte Berechtigungen (Mail.Send) können Sie E-Mails im Namen des angemeldeten Benutzers aus dessen eigenem Postfach senden. Mit Anwendungsberechtigungen (Mail.Send) Sie können im Namen jedes Benutzers im Mandanten senden, ohne dass dieser angemeldet ist – nützlich für automatisierte Benachrichtigungen oder CRM-Integrationen. Siehe auch: API-Anleitung zum Senden von E-Mails im Namen des Benutzers.
07
Was ist der Unterschied zwischen Microsoft Graph API und EWS?
Exchange Web Services (EWS) ist eine SOAP-basierte API, die Microsoft für lokale Exchange-Installationen entwickelt hat. Microsoft Graph API ist der moderne REST-Ersatz und ist der einzige empfohlene Ansatz für neue Integrationen. EWS befindet sich im Wartungsmodus – es werden keine neuen Funktionen hinzugefügt, und Microsoft hat Pläne zur Abschaffung für Exchange Online angekündigt. Wenn Sie EWS noch verwenden, migrieren Sie jetzt zu Graph API. Für ältere lokale Exchange-Versionen (2013/2016) ist EWS möglicherweise immer noch Ihre einzige Option, aber Unipile's E-Mail-API kann dabei helfen, die Lücke zu schließen.
Haben Sie noch Fragen? Unser Team hilft Ihnen gerne dabei, den Microsoft Graph API-E-Mail-Endpunkt in Ihr Produkt zu integrieren.
Sprechen Sie mit einem Experten
de_DEDE