Microsoft Graph API Email : Envoyer, lire et synchroniser (Guide 2026)

Microsoft Graph API

Microsoft Graph API E-mail : Guide d'intégration complet pour les développeurs (2026)

18 min de lecture 17 avril 2026 Python / Node.js / REST

L'API Microsoft Graph est le point de terminaison REST unifié pour accéder aux données d'e-mails d'Outlook et d'Exchange : lire, envoyer, rechercher et recevoir des webhooks pour chaque événement de boîte aux lettres. Ce guide vous guide dans la configuration d'OAuth 2.0, des exemples de code en direct, les limites de débit et la manière d'unifier Microsoft Graph avec Gmail et IMAP sous un seul SDK.

Microsoft Graph API OAuth 2.0 Courriel Outlook MSAL Webhooks
read_outlook_emails.py
import demandes # API unifiée pour e-mails Unipile # Lit les e-mails Outlook via Microsoft Graph BASE = "https://api.unipile.com:13465/api/v1" EN-TÊTES = { "X-API-KEY": "VOTRE_JETON_D_ACCES", "Accepter": "application/json" } déf obtenir_les_e-mails_outlook(id_compte, limite=20): r = requêtes.obtenir( f"{BASE}/e-mails", headers=HEADERS, params={ "account_id": identifiant_compte, "limite"limite } ) return r.json()["courriels"] courriels = obtenir_les_e-mails_outlook("acc_outlook_123") pour e en courriels : print(e"sujet"], e["de"])
20 e-mails récupérés depuis Outlook - via Microsoft Graph
Fonctionne avec : Logo Outlook Logo Gmail Logo IMAP
Construction d'une intégration d'e-mails ?

Lisez le nôtre Guide complet de l'API d'e-mail - Flux OAuth, synchronisation, envoi et comparaison des fournisseurs.

Définition

Qu'est-ce que l'API Microsoft Graph pour les e-mails ?

L'API Microsoft Graph est la passerelle REST unifiée pour tous les services Microsoft 365, y compris les e-mails, le calendrier, les contacts et les fichiers. Pour les e-mails spécifiquement, elle expose le /v1.0/moi/messages point de terminaison, offrant aux développeurs un accès programmatique à chaque boîte aux lettres Outlook et Exchange. Il a remplacé les protocoles hérités (Authentification de base, EWS) et est maintenant la seule manière officiellement prise en charge d'accéder par programme aux e-mails Outlook à l'aide d'OAuth 2.0.

Développeur

Le Microsoft Graph API pour les e-mails l'interface RESTful expose-t-elle les données de la boîte aux lettres Microsoft 365 – y compris les messages, les dossiers, les pièces jointes et les paramètres de la boîte aux lettres – sous https://graph.microsoft.com/v1.0/me/messages point de terminaison. Il s'authentifie via Azure Active Directory OAuth 2.0, prend en charge les autorisations déléguées et d'application et permet les événements en temps réel via modifier les abonnements aux notifications (webhooks). C'est le remplacement recommandé pour tous les flux d'authentification de base obsolètes.

API Microsoft Graph est la remplacement recommandé pour l’authentification de base obsolète – tout accès aux e-mails Outlook et Exchange nécessite désormais OAuth 2.0 via Graph. L’authentification de base a été entièrement désactivée en octobre 2022.

Critère Microsoft Graph API SMTP / IMAP direct
Authentification OAuth 2.0 (MSAL) Nom d'utilisateur + mot de passe (obsolète)
Limites de taux 10 000 requêtes / 10 min par application Pas de limite standard (dépendant du serveur)
Fonctionnalités Lire, envoyer, rechercher, webhooks, dossiers Limité : envoi/réception de base uniquement
Complexité Flux OAuth + Enregistrement d'application Azure Faible mise en place, entretien élevé
Soutien d'Unipile Natif - aucun flux OAuth nécessaire Natif - Repli IMAP
Avantages

Pourquoi utiliser l'API Microsoft Graph pour l'intégration d'e-mails ?

S'appuyer sur Microsoft Graph permet à votre application d'accéder de manière sécurisée, basée sur des jetons, au plus grand écosystème de messagerie d'entreprise au monde, couvrant plus de 400 millions de boîtes aux lettres Outlook et Exchange. Voici les quatre principales raisons pour lesquelles les développeurs choisissent le point de terminaison d'e-mail de l'API Microsoft Graph.

Authentification OAuth 2.0 unifiée

Une seule inscription d'application Azure couvre toutes les boîtes aux lettres Outlook, Exchange et Microsoft 365. Les autorisations déléguées permettent aux utilisateurs de consentir une seule fois ; les autorisations d'application permettent un accès côté serveur sans surveillance et sans interaction utilisateur.

Accès complet à la boîte aux lettres

Lisez, envoyez, répondez, déplacez et supprimez des messages. Gérez les dossiers, recherchez l'intégralité de la boîte aux lettres, traitez les pièces jointes et définissez des règles de messagerie – le tout via la même interface REST avec un schéma de réponse JSON prévisible.

Webhooks en temps réel

Abonnez-vous aux notifications de changement de boîte aux lettres et recevez un POST HTTP sur votre point de terminaison chaque fois qu'un nouvel e-mail arrive, qu'un message est lu ou qu'un dossier est modifié. Pas de sondage, pas de délais - événements livrés en quasi temps réel.

Support Exchange, Outlook et M365

Un seul point de terminaison d'API couvre les comptes Outlook personnels, les locataires Microsoft 365 professionnels et les serveurs Exchange locaux (via hybride). Une seule intégration gère l'ensemble de l'écosystème de messagerie Microsoft sans chemins de code distincts.

Mise en place de l'authentification OAuth Microsoft pour l'API Outlook - Unipile

Configuration de l'authentification OAuth Microsoft pour l'API Outlook

Microsoft OAuth Docs

Par défaut, votre intégration utilise les identifiants OAuth d'Unipile. Pour obtenir un expérience entièrement en marque blanche Lorsque les utilisateurs finaux connectent leur compte Microsoft, créez votre propre application dans Microsoft Entra ID. Suivez le 7 étapes ci-dessous pour enregistrer votre application, configurer les autorisations et la connecter à Unipile.

1
2
3
4
5
6
7
01

Créer un compte Microsoft Entra ID

Si vous n'en avez pas déjà un, créez gratuitement Microsoft Entra ID compte (anciennement Azure Active Directory). C'est le portail d'administration où vous enregistrerez votre application OAuth.

02

Enregistrer une nouvelle application dans le portail Azure

Se connecter à portal.azure.com, allez à Microsoft Entra ID, et cliquez Nouvelle inscription.

  • Nommez votre application : ce nom sera visible par vos utilisateurs finaux lors de l'écran de consentement OAuth.
  • Types de comptes pris en charge : sélectionnez "Comptes dans n'importe quel répertoire organisationnel (tout Microsoft Entra ID, multilocataire) et comptes Microsoft personnels" pour prendre en charge les comptes Office 365 professionnels et personnels.
Service Azure Active Directory
Nouvelle inscription d'application
03

Ajouter les URI de redirection

Allez au Authentification panneau et cliquez Ajouter l'URI sous la section Web. Ajouter 2 URI de redirection en utilisant votre Unipile DSN (disponible dans la tableau de bord Unipile, en haut à droite)

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

Configurer les autorisations de l'API

Aller à Permissions de l'API > Ajouter une autorisation > Microsoft Graph, puis ajoutez ce qui suit Autorisations déléguées:

Mail.Read
Mail.ReadWrite
Mail.Send

Pour les fonctionnalités de calendrier, ajoutez également : Calendars.ReadWrite, Calendars.Read, Calendars.Read.Shared, Calendars.ReadWrite.Shared. Ajoutez-les également dans vos paramètres de portée du tableau de bord Unipile.

Ajouter une permission d'API
Choisissez Microsoft Graph
Ajouter des autorisations déléguées
Écran des autorisations de l'application
05

Créer un secret client

Aller à Certificats et secrets, cliquer Nouveau secret client. Nommer le secret et fixer une date d'expiration 730 jours (24 mois), puis cliquez sur "Ajouter".

Important : Copiez la valeur secrète immédiatement. Vous ne pourrez plus la récupérer sur cette page par la suite. Définissez un rappel dans votre calendrier avant l'expiration pour éviter toute interruption de service.
Nouveau secret client
Définir la date d'expiration
Copier la valeur secrète
06

Se connecter au tableau de bord Unipile

Allez au tableau de bord Unipile, navigatez vers Paramètres > Microsoft OAuth.

  • Copier-coller le ID de l'application (client) depuis la page Vue d'ensemble d'Azure.
  • Collez le valeur secrète depuis la page Certificats et secrets.
  • Cliquer Économiser.
Vous êtes maintenant prêt à commencer à connecter des comptes Microsoft à Unipile. Vos utilisateurs finaux verront le nom et le logo de votre application sur l'écran de consentement OAuth.
07

Tester la connexion

Depuis le tableau de bord Unipile, déclenchez un nouveau lien de compte Microsoft pour vérifier que vos identifiants OAuth personnalisés fonctionnent correctement. Vous devriez voir votre nom de l'application et l'image de marque dans l'invite de consentement de Microsoft au lieu des valeurs par défaut d'Unipile.

Message de consentement Microsoft avec éditeur vérifié
Optionnel, pour les applications de production
8
Devenir un éditeur vérifié
Recommandé pour la production, supprime l'avertissement "non vérifié" sur l'écran de consentement

Avec la vérification, une coche bleue apparaît dans l'invite de consentement. Sans elle, les comptes professionnels peuvent voir un avertissement "éditeur non vérifié".

Étape 1 : Rejoignez le Microsoft Partner Network

Étape 2 : Vérifiez votre domaine

Créer un fichier nommé microsoft-identity-association.json et l'héberger à :

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

Étape 3 : Associer votre identifiant Partner Global Account (PGA)

  • Trouvez votre identifiant PGA via Centre partenaires.
  • Dans le portail Azure, accédez à Enregistrements d'applications > Votre application > Image de marque et propriétés, entrez l'ID PGA, et enregistrez.

Pour plus de détails, consultez le Documentation de vérification Microsoft Publisher.

9
Gestion de "Approbation de l'administrateur requise"
Quand les utilisateurs finaux voient un bloc de consentement de la part de leur administrateur informatique

Si un utilisateur voit "Approbation de l'administrateur requise", le consentement requis n'a pas été accordé au niveau du locataire. Deux méthodes pour résoudre ce problème :

Méthode 1 : Demande de consentement de l'administrateur dans Microsoft Entra

Un administrateur Microsoft doit examiner et approuver la demande de consentement d'administrateur en attente. Voir Documentation Microsoft sur la révision des demandes de consentement administrateur.

Méthode 2 : Connexion OAuth en tant qu'administrateur avec consentement à l'échelle du locataire

  • L'administrateur démarre le flux de connexion OAuth à partir de votre application.
  • Lors de l'autorisation Microsoft, l'administrateur doit cocher : "Consentement au nom de votre organisation".
  • Ceci accorde le consentement pour tous les utilisateurs de l'organisation et empêche l'invite pour les futurs utilisateurs.

Plein de détails dans le Guide de dépannage du consentement Microsoft.

Cas d'usage

Cas d'utilisation des e-mails dans Microsoft Graph API

L'endpoint d'e-mail de l'API Microsoft Graph alimente un large éventail d'applications SaaS qui s'appuient sur les boîtes aux lettres Outlook et Exchange. Voici les trois modèles d'intégration les plus courants utilisés aujourd'hui par les équipes développant sur l'API Graph.

CRM - Synchronisation des contacts et des e-mails

Synchronisez les fils d'e-mails et les contacts Outlook directement dans votre CRM. Faites correspondre les expéditeurs aux enregistrements de transactions existants, enregistrez automatiquement chaque conversation et affichez l'historique des relations sans aucune copie manuelle depuis Outlook.

Guide de l'API Email
ATS - Système de suivi des candidatures

Suivez les fils d'e-mails des candidats dans les boîtes aux lettres Outlook. Analysez les e-mails de candidature entrants, extrayez les pièces jointes et acheminez-les vers le bon pipeline d'emploi - le tout via le point de terminaison d'e-mail de l'API Microsoft Graph sans aucune intervention manuelle.

API d'envoi de courriels
Outils de support - Routage des tickets

Convertir les e-mails Outlook entrants en tickets de support. Utiliser des webhooks Graph pour recevoir des événements de nouveaux e-mails en temps réel, classifier par sujet ou domaine d'expéditeur, et router vers la bonne file d'attente d'équipe - remplaçant ainsi le triage manuel par une logique automatisée.

API unifiée pour les e-mails
Fonctionnalités

Principales fonctionnalités de l'API Microsoft Graph pour les e-mails

L'API Microsoft Graph pour les e-mails expose un ensemble complet de fonctionnalités bien au-delà de l'envoi et de la réception de base. Voici les six fonctionnalités les plus importantes que tout développeur devrait connaître avant de construire sur la pile d'e-mails de l'API Microsoft Graph.

Lire, Envoyer, et Répondre

Récupérez des messages individuels ou des listes paginées. Envoyez de nouveaux e-mails ou répondez en ligne. Déplacez des messages entre les dossiers ou marquez-les comme lus/non lus.

GET /v1.0/moi/messages
Pièces jointes

Télécharger, importer et lister les pièces jointes de fichiers sur n'importe quel message. Prend en charge les pièces jointes incorporées (en ligne) et le téléchargement de gros fichiers via des sessions de téléchargement pour les fichiers de plus de 3 Mo.

GET /v1.0/moi/messages/{id}/pièces jointes
Dossiers et étiquettes

Créer, renommer et supprimer des dossiers de messagerie. Lister tous les dossiers de messagerie, déplacer des messages entre eux et gérer les hiérarchies de dossiers enfants, identiques à ce que les utilisateurs voient dans Outlook.

GET /v1.0/moi/dossiersCourrier
Recherche et Filtre

Utilisez les paramètres de requête OData ($filter,$search, $orderby) pour trouver des e-mails par expéditeur, objet, plage de dates ou mot-clé. Prend en charge KQL pour la recherche plein texte avancée.

GET /moi/messages?$rechercher="projet"
Abonnements aux Webhooks

Abonnez-vous aux notifications de modification pour les événements de boîte aux lettres. Recevez des rappels HTTP POST quasi en temps réel lorsqu'un nouvel e-mail arrive, que des messages sont lus ou que des dossiers changent.

POST /v1.0/abonnements
Demandes par lots

Combinez jusqu'à 20 requêtes individuelles de l'API Graph en un seul appel HTTP à l'aide du point de terminaison batch $. Réduit considérablement les allers-retours pour des opérations telles que la lecture d'e-mails en masse.

POST /v1.0/$lot
Exemples de code

Comment envoyer, lire et synchroniser des e-mails avec l'API Microsoft Graph

Trois modèles prêts pour la production couvrant les opérations essentielles dont tout développeur a besoin : l'envoi d'e-mails, la lecture de messages avec filtres et la synchronisation différentielle incrémentielle pour la surveillance de la boîte aux lettres en temps réel.

POST /v1.0/me/sendMail — Python via Unipile
send_outlook_email.py
import demandes # API unifiée pour e-mails Unipile # Envoie via Microsoft Graph — aucun OAuth direct requis BASE = "https://api.unipile.com:13465/api/v1" EN-TÊTES = { "X-API-KEY": "VOTRE_JETON_D_ACCES", "Content-Type": "application/json" } déf envoyer_email_outlook(id_compte, à, sujet, corps) charge utile = { "account_id": identifiant_compte, "à": [{"identifier": à}], "sujet": sujet, "corps": corps } r = requêtes.postef"{BASE}/courriels", en-têtes=EN-TÊTES, json=charge utile return r.json() # Exemple d'utilisation envoyer_email_outlook( "acc_outlook_123", à="recipient@company.com", sujet="Suivi de réunion", corps="Bonjour, pour faire suite à notre appel..." )
E-mail envoyé via Microsoft Graph — Compte Outlook acc_outlook_123
API graphique directe équivalente : POST https://graph.microsoft.com/v1.0/moi/envoyerEmail avec message.destinataires, objet du message, ou encore message.corps.contenu. Unipile abstrait le rafraîchissement du jeton OAuth et la gestion du MIME. Voir le Guide API d'envoi d'e-mails pour le support des pièces jointes et la réponse hiérarchisée.
GET /v1.0/me/messages — filtrer, sélectionner, paginer
read_outlook_emails.py
import demandes # Lire les e-mails Outlook avec des filtres via Unipile BASE = "https://api.unipile.com:13465/api/v1" EN-TÊTES = {"X-API-KEY": "VOTRE_JETON_D_ACCES"} déf lister_les_emails_outlook(id_compte, filtre_expéditeur=Aucun, limite=20): paramètres = { "account_id": identifiant_compte, "limite"limite } si filtre_expéditeur : # Correspond à $filtre=from/emailAddress/address eq '...' params["de"] = filtre_expéditeur r = requêtes.obtenirf"{BASE}/courriels", en-têtes=En-têtes, paramètres=params) return r.json().obtenir("articles", []) # Récupérer les 20 derniers e-mails d'un expéditeur spécifique courriels = lister_les_emails_outlook("acc_outlook_123", filtre_expéditeur="hr@acme.com") pour e en courriels : print(e"sujet"], e["de"], e["date"])
20 messages récupérés d'Outlook — filtrés par domaine de l'expéditeur
Filtres OData pris en charge nativement : $filtre, $rechercher, $sélectionner, $trier par, $au-dessus. utiliser $recherche="sujet:facture" pour la recherche plein texte KQL. Les pièces jointes de plus de 3 Mo nécessitent une télécharger la session (POST /createUploadSession) — pas une seule requête multipart.
GET /v1.0/me/mailFolders/inbox/messages/delta — synchronisation incrémentielle
delta_sync_outlook.py
import demandes # Delta Sync — récupérer uniquement les e-mails NOUVEAUX depuis la dernière synchronisation # Unipile gère le cycle de vie de deltaToken automatiquement BASE = "https://api.unipile.com:13465/api/v1" EN-TÊTES = {"X-API-KEY": "VOTRE_JETON_D_ACCES"} déf synchroniser_nouveaux_emails(id_compte, curseur=Aucun : """ Retourne uniquement les emails reçus depuis le dernier appel. curseur = jeton de pagination opaque (à stocker entre les appels). """ paramètres = {"account_id": id_compte} si curseur params["curseur"] = curseur r = requêtes.obtenirf"{BASE}/emails/synchroniser", en-têtes=En-têtes, paramètres=params) données = r.json() return data.get("articles", []), données.get("curseur") # Première synchronisation — pas de curseur e-mails, curseur_suivant = synchroniser_nouveaux_emails("acc_outlook_123") # Stocker le next_cursor dans votre DB, utilisez-le pour les appels ultérieurs printf"{len(emails)} nouveaux emails — curseur suivant sauvegardé")
Synchronisation Delta terminée — 0 appel API perdu sur des messages déjà vus
Comment delta fonctionne nativement sur Graph : GET /me/mailFolders/inbox/messages/delta retourne un @odata.deltaLink lors du premier appel. Stockez-le et utilisez-le la prochaine fois - Graph ne retourne que la différence. Aucun sondage boîte aux lettres pleine = 10 fois moins d'appels API par rapport à la norme GET /messages. Unipile's /e-mails/synchronisation endpoint encapsule ce modèle avec une gestion automatique des jetons.
Temps réel

Webhooks de l'API Microsoft Graph pour les événements d'e-mail

Les abonnements Microsoft Graph (webhooks) permettent à votre serveur de recevoir des notifications HTTP POST dès l'arrivée, la lecture, le déplacement ou la suppression d'un e-mail. Vous trouverez ci-dessous un exemple Python complet pour vous abonner aux événements de la boîte de réception, ainsi que des détails sur la gestion du cycle de vie.

Un abonnement webhook Graph a deux champs obligatoires : changerType (quelles épreuves regarder) et notificationUrl (votre point de terminaison HTTPS). Microsoft envoie une jeton de validation paramètre de requête lors du premier abonnement. Votre point de terminaison doit le renvoyer en texte brut dans les 10 secondes pour confirmer la propriété.

Les abonnements aux graphiques expirent au maximum après 4230 minutes (~3 jours) pour les ressources de messagerie. Votre serveur doit renouveler avant l'expiration via PATCH /v1.0/abonnements/{id} ou vous cesserez de recevoir les notifications silencieusement.

1 Notifications de cycle de vie
Microsoft Graph envoie des notifications de cycle de vie à un séparé URLDeNotificationDeCycleDeVie lorsqu'un abonnement est sur le point d'expirer ou a été révoqué. Votre serveur doit répondre avec un code HTTP 202 pour accuser réception. Un échec de réponse entraîne la résiliation de l'abonnement.
2 validationToken Handshake
Lorsque vous envoyez une requête POST à /v1.0/subscriptions, Microsoft appelle immédiatement votre notificationUrl avec une requête GET contenant ?validationToken=XXX. Vous devez retourner le jeton sous forme de texte brut (Content-Type: text/plain) avec un code de réponse HTTP 200 dans les 10 secondes. Le dépassement du délai entraîne l'échec de la création de l'abonnement.
3 Expiration de l'abonnement
Les abonnements e-mail expirent après 4230 minutes au maximum. Utilisez un travail d'arrière-plan ou cron pour appliquer un PATCH dateHeureExpiration avant qu'il n'expire. Vous pouvez également recréer un abonnement à partir de zéro. Microsoft ne facture pas de frais supplémentaires pour les renouvellements.
create_subscription.py
import demandes, date et heure JETON_ACCÈS = "VOTRE_JETON_GRAPHE" POINT DE TERMINAISON = "https://graph.microsoft.com/v1.0/abonnements" # Date d'expiration : maximum 4230 min à partir de maintenant pour les ressources de messagerie expiration = ( datetime.datetime.maintenant UTC() + datetime.timedelta(minutes=4200) ).isoformat() + "Z" charge utile = { "changer le type": "créé", "urlDeNotification": "https://votredomaine.com/webhook", "ressource": "mes/dossiersCourrier('Courrier entrant')/messages", "dateEtHeureExpiration": expiration, "étatClient": "monÉtatSecret" } r = requêtes.poste( POINT DE TERMINAISON, json=charge utile, en-têtes={ "Autorisation": Bearer {ACCESS_TOKEN}", "Content-Type": "application/json" } ) print(r.json()["id"]) # sub_xxxxxxxx-xxxx-xxxx-xxxx
201 Créé, abonnement actif pour les événements de la boîte de réception
Unipile

Évitez la Complexité - Utilisez l'API d'Email Unifiée d'Unipile

Connectez Microsoft Graph, Gmail et IMAP avec un seul SDK. Fini les flux OAuth par fournisseur, la logique de rafraîchissement des jetons ou l'infrastructure de webhook à maintenir. Votre équipe livre des fonctionnalités d'e-mail en quelques jours, pas en quelques semaines.

Commencer gratuitement

Aucune carte de crédit requise. Conforme SOC 2 Type II.

Limites

Limites de débit et gestion des erreurs de l'API Microsoft Graph

Le point de terminaison de messagerie de l'API Microsoft Graph applique la limitation à plusieurs niveaux : par utilisateur, par application et par locataire. Comprendre ces limites avant de passer en production permet d'éviter les échecs silencieux et la dégradation de la fiabilité de votre intégration.

Lorsque le débit est limité, Microsoft Graph renvoie 429 Trop de requêtes avec un Réessayer après En-tête spécifiant le nombre de secondes à attendre. Lisez toujours cet en-tête et attendez en conséquence - bombarder après un 429 prolongera la fenêtre de limitation, pas la réduira.

Code HTTP Nom d'erreur Cause Réparer
429 TropDeDemandes Limite de débit dépassée (10 000 requêtes / 10 min par application ou 1 000 requêtes / 1 min par utilisateur) Lire l'en-tête Retry-After. Implémenter une backoff exponentielle. Utiliser le lot $pour combiner les requêtes.
401 Non autorisé Jeton d'accès expiré ou en-tête d'autorisation manquant Actualiser le jeton via MSAL. Vérifier l'expiration du jeton avant chaque requête. Utiliser la mise en cache des jetons.
403 Interdit Permission Mail.Read ou Mail.Send manquante dans l'enregistrement de l'application Azure Ajouter les autorisations Graph requises dans le portail Azure et donner à nouveau le consentement (ou le consentement de l'administrateur pour les autorisations de l'application).
404 RessourceIntrouvable L'identifiant du message ou de dossier n'existe pas (supprimé ou locataire incorrect) Vérifier les identifiants via GET avant d'agir en conséquence. Gérer le 404 avec élégance comme un signal de suppression douce.
500 Erreur interne du serveur Erreur transitoire du serveur Microsoft Réessayez avec une stratégie de retrait exponentiel (1s, 2s, 4s). Enregistrez l'en-tête request-id pour le support Microsoft.
Multi-Prestataire

Au-delà de Microsoft Graph : API unifiée pour les e-mails de Gmail, Outlook et IMAP

La gestion de l'intégration des e-mails de l'API Microsoft Graph n'est qu'un début. La plupart des produits SaaS doivent prendre en charge Gmail, Outlook et IMAP simultanément – ce qui signifie trois flux OAuth distincts, trois boucles de rafraîchissement de jetons et trois systèmes de webhook. Unipile's API unifiée pour les e-mails abstraire les trois fournisseurs derrière un point de terminaison unique.

Logo GmailAPI Gmail Logo OutlookMicrosoft Graph Logo IMAPIMAP / SMTP

Avec Unipile, Intégration d'API d'e-mail unifiée, vous écrivez une intégration et supportez instantanément les trois types de fournisseurs. Les comptes liés sont gérés par Unipile - votre backend ne communique qu'avec un seul point d'extrémité REST, que la boîte aux lettres de l'utilisateur fonctionne sur Microsoft Graph, Gmail ou IMAP.

Aucun flux OAuth à gérer Unipile gère l'acquisition, le renouvellement et la révocation des jetons pour Microsoft Graph et Gmail en votre nom.

Événements de webhook unifiés - une notificationUrl reçoit les événements d'e-mail de tous les fournisseurs avec un schéma JSON normalisé. Aucune gestion des abonnements par fournisseur.

Conforme SOC 2 Type II - toutes les données d'e-mail en transit sont chiffrées. Unipile ne stocke pas le contenu des e-mails au-delà de ce qu'exige votre intégration.

Fournisseurs de messagerie pris en charge
Outlook / Microsoft 365
via l'API Microsoft Graph
Actif
Gmail
via l'API Gmail (Google)
Actif
IMAP / SMTP
Solution de repli universelle pour e-mail
Actif
Démarrer

Commencez à intégrer l'e-mail Microsoft Graph en quelques minutes

Rejoignez plus de 200 équipes SaaS qui utilisent Unipile pour connecter Outlook, Gmail et IMAP sous une seule API. Pas de verrouillage propriétaire. Conforme SOC 2.

FAQ

Questions fréquemment posées

Tout ce que les développeurs demandent avant de construire sur le point de terminaison de messagerie de l'API Microsoft Graph - de l'authentification aux limites de débit en passant par la couverture des fournisseurs.

01
API Microsoft Graph pour les e-mails
Le Microsoft Graph API pour les e-mails est le point de terminaison REST officiel fourni par Microsoft pour accéder aux données des boîtes aux lettres Outlook et Exchange. Il se trouve à https://graph.microsoft.com/v1.0/me/messages et utilise l'authentification OAuth 2.0 via Azure Active Directory. Il prend en charge la lecture, l'envoi, la recherche et la gestion des e-mails, ainsi que la réception de notifications de changements en temps réel via des abonnements webhook.
02
Comment fonctionne OAuth 2.0 avec Microsoft Graph ?
Microsoft Graph utilise Azure Active Directory (Entra ID) pour l'authentification. Vous enregistrez une application dans le portail Azure, configurez les autorisations requises pour l'API Graph (comme Mail.Read et Mail.Send), et utiliser la bibliothèque d'authentification Microsoft (MSAL) pour acquérir des jetons d'accès. Il existe deux flux principaux : délégué (l'utilisateur se connecte interactivement) et application (serveur à serveur, aucune interaction utilisateur). Les jetons expirent après 1 heure et doivent être actualisés automatiquement.
03
L'API Microsoft Graph prend-elle en charge IMAP ?
L'API Microsoft Graph n'utilise pas IMAP en interne. C'est une API REST qui abstrait le protocole de messagerie sous-jacent. Cependant, les comptes Outlook peuvent toujours être accédés via IMAP (avec OAuth 2.0, puisque l'authentification de base a été supprimée). Pour l'intégration des e-mails Outlook, Microsoft recommande fortement d'utiliser l'API Graph plutôt qu'IMAP car elle offre plus de fonctionnalités, de meilleures performances et un support complet des webhooks. Pour les boîtes aux lettres non Microsoft, IMAP reste la solution de repli universelle.
04
Quelles sont les limites de débit pour l'API d'e-mails de Microsoft Graph ?
Microsoft Graph applique une limitation à plusieurs niveaux. La limite générale est 10 000 requêtes par 10 minutes par application. Les limites par utilisateur peuvent être inférieures en fonction du type d'opération. En cas de limitation, l'API renvoie le code HTTP 429 avec un Réessayer après header. Bonnes pratiques : implémentez une stratégie de relance exponentielle, utilisez $batch pour combiner jusqu'à 20 requêtes en un seul appel HTTP, et mettez en cache les données fréquemment consultées pour minimiser les appels redondants.
05
Comment configurer des webhooks avec l'API Microsoft Graph ?
POST à /v1.0/abonnements avec un changerType (par exemple, " créé "), un notificationUrl en pointant vers votre point de terminaison HTTPS, et un ressource (par exemple, " me/mailFolders('Inbox')/messages "). Microsoft envoie immédiatement une requête GET avec un jeton de validation - votre serveur doit le renvoyer en texte brut dans les 10 secondes. Les abonnements expirent après 4230 minutes maximum et doivent être renouvelés via PATCH avant l'expiration.
06
Puis-je envoyer des e-mails au nom d'un utilisateur avec Microsoft Graph ?
Oui. Avec autorisations déléguées (Mail.Send), vous pouvez envoyer des e-mails au nom de l'utilisateur connecté à partir de sa propre boîte aux lettres. Avec autorisations de l'application (Mail.Send), vous pouvez envoyer au nom de n'importe quel utilisateur du locataire sans qu'il soit connecté - utile pour les notifications automatisées ou les intégrations CRM. Voir aussi : Guide de l’API « Envoyer un e-mail au nom de l’utilisateur ».
07
Quelle est la différence entre l'API Microsoft Graph et EWS ?
Exchange Web Services (EWS) est une API basée sur SOAP que Microsoft a créée pour Exchange sur site. L'API Microsoft Graph est le remplacement REST moderne et est la seule approche recommandée pour les nouvelles intégrations. EWS est en mode maintenance - aucune nouvelle fonctionnalité n'est ajoutée et Microsoft a annoncé son intention de le retirer pour Exchange Online. Si vous utilisez toujours EWS, migrez vers Graph API dès maintenant. Pour les anciennes versions d'Exchange sur site (2013/2016), EWS peut encore être votre seule option, mais Unipile's API de messagerie peut aider à combler le fossé.
Vous avez encore des questions ? Notre équipe est là pour vous aider à intégrer le point d'accès d'e-mail de l'API Microsoft Graph dans votre produit.
Parler à un expert
fr_FRFR