Introduction
Ce guide permet de faire partir les mails de votre site (formulaires, mots de passe oubliés, notifications) depuis votre messagerie Microsoft 365, sans accès SMTP. Le plugin Gravity SMTP passe par l’API Microsoft Graph : aucun mot de passe de messagerie n’est stocké dans le site. C’est plus sûr que le SMTP classique, et les mails partent de vos serveurs Microsoft, ce qui améliore leur délivrabilité.
La configuration se fait en deux temps : une application à créer dans le centre d’administration Microsoft Entra (15 minutes environ), puis la connexion depuis le backoffice du site. La partie Microsoft doit être réalisée par votre service informatique.
Ce guide ne concerne pas les newsletters, qui utilisent un autre mode d’envoi.
Limitations
Microsoft 365 est conçu pour la messagerie de bureau, pas pour l’envoi en masse. Les limites suivantes s’appliquent à la boîte d’envoi connectée (limites Exchange Online, relevées le 29 septembre 2026) :
| Limite | Valeur |
|---|---|
| Destinataires par jour et par boîte | 10 000 |
| Messages par minute et par boîte | 30 |
| Destinataires par message | 1 000 maximum (réglable) |
D’autres limites existent au niveau de toute l’organisation, notamment sur les destinataires extérieurs. Elles dépendent du nombre de licences, et Microsoft peut les faire évoluer sans préavis.
Cette solution convient aux envois courants d’un site (formulaires, notifications, comptes utilisateurs). Pour des volumes importants ou des envois groupés, un service d’envoi dédié reste plus adapté : parlez-en à votre chef de projet.
Les comptes gratuits Outlook.com ont des limites beaucoup plus basses et ne sont pas recommandés pour un site.
Avant de commencer
Vérifiez ces trois points, sans quoi la connexion échouera :
- Un compte administrateur Microsoft Entra (administrateur général, ou administrateur d’applications), pour créer l’application et accorder le consentement administrateur.
- Une boîte mail d’envoi Exchange Online, avec une licence Microsoft 365 active. Les mails du site partiront de cette adresse. Préférez une adresse générique (ex. nepasrepondre@votre-collectivite.fr) à une boîte nominative.
- Un accès administrateur au backoffice du site, pour la partie Gravity SMTP.
Gardez le backoffice ouvert dans un onglet pendant la configuration Entra : vous aurez besoin d’y copier l’URI de redirection.
Partie 1 : créer l’application dans Microsoft Entra
Étape 1 : récupérer l’URI de redirection dans le site
- Dans le backoffice, ouvrez Gravity SMTP > Réglages > Intégrations et cliquez sur +.
- Choisissez Microsoft 365 / Outlook. Le panneau de réglages s’ouvre.
- Copiez la valeur du champ Redirect URI (School or Work Accounts). Elle ressemble à :
https://votre-site.fr/wp-admin/admin.php?page=gravitysmtp-settings&integration=microsoft&tab=integrations
N’utilisez pas le champ Redirect URI (Personal Accounts) : le plugin envoie toujours l’URI « School or Work » à Microsoft. Si seule l’autre est déclarée, Microsoft refusera la connexion.
Étape 2 : inscrire l’application
- Dans le centre d’administration Microsoft Entra, ouvrez Entra ID > Inscriptions d’applications > Nouvelle inscription.
- Nom : par exemple « Gravity SMTP – site internet ».
- Types de comptes pris en charge : choisissez Comptes dans un annuaire d’organisation (tout locataire Microsoft Entra ID – multilocataire).
- URI de redirection : plateforme Web, puis collez l’URI copiée à l’étape 1.
- Cliquez sur Inscrire.
Le choix « multilocataire » est obligatoire. Gravity SMTP se connecte à Microsoft par son point d’accès générique, sans pouvoir préciser votre organisation. Microsoft refuse ce point d’accès pour une application en « Mon organisation uniquement ». Ce réglage ne donne aucun accès à vos données à une autre organisation : seuls les comptes de votre organisation, avec votre consentement, peuvent envoyer via cette application.
Si l’application existe déjà en « Mon organisation uniquement », modifiez-la dans Authentification > Types de comptes pris en charge, ou dans le Manifeste ("signInAudience": "AzureADMultipleOrgs").
Étape 3 : noter l’ID d’application
Sur la page Vue d’ensemble de l’application, copiez l’ID d’application (client). Ne le confondez pas avec l’ID de l’objet ni l’ID de l’annuaire (locataire).
Étape 4 : créer le secret client
- Ouvrez Certificats & secrets > Secrets client > Nouveau secret client.
- Donnez une description et choisissez une durée d’expiration. Notez la date d’expiration : les envois s’arrêteront à cette date (voir « Renouveler le secret client »).
- Copiez immédiatement la colonne Valeur. Elle ne sera plus visible une fois la page quittée.
C’est la Valeur qu’il faut saisir dans le site, pas l’ID de secret. Si la valeur est perdue, supprimez le secret et créez-en un nouveau.
Étape 5 : ajouter les autorisations
- Ouvrez API autorisées > Ajouter une autorisation > Microsoft Graph > Autorisations déléguées.
- Cochez les six autorisations ci-dessous, puis validez.
| Autorisation | Type | Rôle |
|---|---|---|
| Mail.Send | Déléguée | Envoyer les mails depuis la boîte connectée |
| offline_access | Déléguée | Garder la connexion active sans se reconnecter |
| User.Read | Déléguée | Identifier le compte connecté |
| openid | Déléguée | Connexion du compte |
| profile | Déléguée | Connexion du compte |
| Déléguée | Connexion du compte |
N’ajoutez pas SMTP.Send : le plugin n’utilise pas SMTP. N’utilisez pas non plus d’autorisations « d’application » : le plugin se connecte au nom d’un utilisateur.
Étape 6 : accorder le consentement administrateur
Toujours dans API autorisées, cliquez sur Accorder un consentement d’administrateur pour [votre organisation] et confirmez. La colonne Statut doit afficher « Accordé pour [votre organisation] » sur les six lignes.
Refaites cette opération à chaque ajout d’autorisation : un consentement donné avant ne couvre pas les nouvelles lignes.
Partie 2 : connecter le site dans Gravity SMTP
- Revenez sur le panneau Réglages 365 / Outlook ouvert à l’étape 1.
- Saisissez l’ID d’application (Application ID) noté à l’étape 3.
- Saisissez le secret client (Client Secret) : la Valeur copiée à l’étape 4.
- Cliquez sur Sign in with Microsoft.
- Connectez-vous avec le compte de la boîte d’envoi (voir « Avant de commencer »). Les mails du site partiront de cette boîte.
- Vous revenez sur le site. Le panneau affiche Connected with email account suivi de l’adresse connectée.
- Renseignez si besoin le nom et l’adresse d’expéditeur. L’adresse d’expéditeur doit être celle de la boîte connectée, ou une adresse sur laquelle ce compte a le droit « Envoyer en tant que ».
- Cliquez sur Save Changes.
Pour vérifier, ouvrez Gravity SMTP > Outils > Send a Test et envoyez un mail de test à une adresse que vous consultez.
Renouveler le secret client
Le secret client a une date d’expiration. À cette date, le site ne peut plus envoyer de mails. Prévoyez un rappel quelques semaines avant.
- Dans Entra, sur l’application, ouvrez Certificats & secrets et créez un nouveau secret client. Copiez sa Valeur.
- Dans le site, ouvrez Gravity SMTP > Réglages > Intégrations > Microsoft 365 / Outlook.
- Remplacez le secret client par la nouvelle valeur, puis cliquez à nouveau sur Sign in with Microsoft.
- Enregistrez, envoyez un mail de test, puis supprimez l’ancien secret dans Entra.
Dépannage
Les messages de Gravity SMTP sont génériques : la vraie cause est le code d’erreur Microsoft, qui commence par AADSTS.
Où trouver ce code :
- Si Microsoft affiche une page d’erreur au lieu de revenir sur le site, le code est sur cette page.
- Si vous revenez sur le site avec un message d’erreur, regardez la barre d’adresse du navigateur juste après le retour : elle contient
error_description=AADSTS…. Copiez l’adresse complète avant de recharger la page.
Messages affichés par Gravity SMTP :
| Message | Signification |
|---|---|
| Access to Microsoft was denied. Please approve the connection request to complete setup. | Microsoft a renvoyé une erreur, quelle qu’elle soit. Ce n’est pas forcément un refus : relevez le code AADSTS dans la barre d’adresse. |
| Error Connecting to Microsoft. Check your credentials and try again. | La connexion a réussi, mais le site n’a pas pu obtenir l’accès. Le plus souvent, c’est le secret client qui est faux (voir étape 4). |
| The Microsoft connection request could not be verified. Please try again. | La demande a expiré ou a été lancée depuis un autre onglet. Relancez la connexion. |
Codes Microsoft les plus courants :
| Code | Cause | Correction |
|---|---|---|
| AADSTS50194 | Application en « Mon organisation uniquement » | Passer en multilocataire (étape 2) |
| AADSTS50011 | URI de redirection non déclarée ou différente | Déclarer l’URI « School or Work », plateforme Web (étapes 1 et 2) |
| AADSTS700016 | ID d’application introuvable | Vérifier l’ID d’application (client) saisi (étape 3) |
| AADSTS7000215 | Secret client invalide (souvent l’ID du secret au lieu de sa valeur) | Créer un nouveau secret et saisir sa Valeur (étape 4) |
| AADSTS7000222 | Secret client expiré | Renouveler le secret |
| AADSTS65001, AADSTS90094 | Consentement manquant ou réservé à un administrateur | Accorder le consentement administrateur (étape 6) |
| AADSTS50105 | Le compte n’est pas autorisé à utiliser l’application | Dans Entra, Applications d’entreprise > l’application > Utilisateurs et groupes : ajouter le compte d’envoi |
Si la connexion réussit mais que le test d’envoi échoue avec l’erreur MailboxNotEnabledForRESTAPI : le compte connecté n’a pas de boîte Exchange Online active. Connectez un compte qui dispose d’une licence avec messagerie.
Si le problème persiste, écrivez à assistance@inovagora.net en joignant le code AADSTS ou l’adresse complète copiée dans la barre du navigateur.
Check-list
- URI « Redirect URI (School or Work Accounts) » déclarée en plateforme Web
- Types de comptes pris en charge : multilocataire
- ID d’application (client) saisi dans le site
- Valeur du secret client saisie (pas l’ID de secret), date d’expiration notée
- Six autorisations déléguées Microsoft Graph : Mail.Send, offline_access, User.Read, openid, profile, email
- Consentement administrateur accordé sur toutes les lignes
- Connexion faite avec le compte de la boîte d’envoi
- Mail de test reçu
Sources
- Limites Exchange Online (Microsoft)
- Créer une application web dans Azure (Gravity SMTP, en anglais)
- Réglages Microsoft 365 / Outlook (Gravity SMTP, en anglais)