Aller au contenu

Outlook / Microsoft 365 (OAuth)

L’intégration Outlook envoie vos modèles Frontmail depuis votre boîte Outlook.com, Hotmail ou Microsoft 365 (Exchange Online) via Microsoft Graph. Les messages arrivent dans vos Éléments envoyés, les réponses reviennent dans votre boîte de réception.

Choisissez Outlook / Microsoft 365 si votre entreprise fonctionne déjà sous Microsoft 365 et que vous voulez que les formulaires de votre site et les notifications partent d’une vraie boîte d’entreprise (office@example.com) sans configurer un autre fournisseur. Comme Gmail, c’est prévu pour de faibles volumes – Exchange Online limite l’envoi par boîte et il n’y a pas de webhooks de livraison. Pour un volume transactionnel, utilisez Mailgun, Postmark, Amazon SES ou Resend. Voir la présentation des services d’envoi.

Microsoft 365 propose aussi l’envoi SMTP (smtp.office365.com:587), et le service SMTP de Frontmail dispose d’un préréglage pour cela. Cependant, SMTP AUTH est désactivé par défaut dans de nombreux tenants et Microsoft met fin à l’authentification de base (nom d’utilisateur + mot de passe) pour SMTP AUTH dans Exchange Online. Cette intégration utilise donc OAuth et l’API Graph sendMail – pas de mot de passe, pas d’exception SMTP AUTH à demander, et elle fonctionne avec la MFA et l’accès conditionnel.

  • Un compte Outlook.com / Hotmail, ou un compte professionnel Microsoft 365 avec une boîte Exchange Online (une licence incluant Exchange).
  • Pour Microsoft 365 : le droit de donner son consentement aux applications. De nombreuses organisations laissent les utilisateurs consentir eux-mêmes aux autorisations à faible risque ; d’autres exigent le consentement de l’administrateur – voir plus bas.
  • Rien d’autre – aucun enregistrement d’application Azure de votre côté.
  1. Ouvrez Services d’envoi → Ajouter un service → Outlook / Microsoft 365.
  2. Cliquez sur Connecter Outlook / Microsoft 365 et connectez-vous avec la boîte depuis laquelle vous voulez envoyer.
  3. Examinez l’écran de consentement. Frontmail demande ces autorisations déléguées :
    • Mail.Send – envoyer des e-mails en votre nom. Elle ne permet ni de lire, ni de déplacer, ni de supprimer le moindre e-mail.
    • offline_access – conserver l’autorisation sans que vous soyez connecté (c’est ce qui donne à Frontmail un jeton d’actualisation).
    • openid email – votre adresse, affichée sur la page du service et utilisée comme expéditeur par défaut.
  4. Cliquez sur Accepter. Vous êtes redirigé vers Frontmail et le service est enregistré avec l’adresse connectée.
  5. Ajustez éventuellement E-mails par seconde (max.) (0,5/s par défaut = 30 par minute) et cliquez sur Tester la connexion, qui actualise le jeton.

Ce qui est stocké : le jeton d’actualisation OAuth (et un jeton d’accès de courte durée), chiffrés avec le chiffrement d’enveloppe d’AWS KMS. Les jetons d’accès durent environ une heure ; Microsoft renouvelle le jeton d’actualisation à chaque actualisation et Frontmail enregistre automatiquement le nouveau.

Consentement de l’administrateur dans Microsoft 365

Section intitulée « Consentement de l’administrateur dans Microsoft 365 »

Si votre tenant n’autorise pas le consentement des utilisateurs, la connexion s’arrête sur « Approbation de l’administrateur nécessaire » (ou l’erreur AADSTS65001 / AADSTS90094). Un administrateur général, un administrateur d’applications cloud ou un administrateur d’applications peut alors :

  • approuver la demande en attente dans Centre d’administration Microsoft Entra → Applications d’entreprise → Demandes de consentement administrateur, ou
  • se connecter lui-même via Connecter Outlook / Microsoft 365 et cocher Consentement au nom de votre organisation.

Les administrateurs peuvent ensuite réserver l’application à certains utilisateurs sous Applications d’entreprise → Frontmail → Propriétés → Affectation obligatoire.

Le jeton d’actualisation devient invalide lorsque :

  • l’utilisateur change ou réinitialise son mot de passe, ou un administrateur révoque les sessions (AADSTS50173),
  • il n’est pas utilisé pendant 90 jours (AADSTS700082),
  • un utilisateur ou un administrateur retire Frontmail de Mes applications / Applications d’entreprise,
  • une stratégie d’accès conditionnel se met à bloquer l’application, ou le compte est désactivé.

Frontmail reçoit invalid_grant et le traite comme une erreur auth : le service est marqué unhealthy, vous recevez un e-mail et une bannière dans le tableau de bord, et les messages sont retenus (ou envoyés via le service de secours) jusqu’à ce que vous cliquiez sur Reconnecter sur la page du service. Les messages retenus partent ensuite automatiquement.

  • Adresses Outlook.com / Hotmail : rien à faire.
  • Microsoft 365 sur votre propre domaine – généralement configuré lors de la mise en place du tenant ; vérifiez que ces enregistrements existent :
; SPF
example.com. TXT "v=spf1 include:spf.protection.outlook.com -all"
; DKIM – deux CNAME, puis activez la signature DKIM dans le portail Microsoft Defender
selector1._domainkey.example.com. CNAME selector1-example-com._domainkey.contoso.onmicrosoft.com.
selector2._domainkey.example.com. CNAME selector2-example-com._domainkey.contoso.onmicrosoft.com.
; DMARC
_dmarc.example.com. TXT "v=DMARC1; p=none; rua=mailto:dmarc@example.com"
  • Copiez les cibles DKIM exactes depuis Microsoft Defender → E-mail et collaboration → Stratégies → Paramètres d’authentification des e-mails → DKIM ; les tenants plus récents peuvent afficher un autre format de cible.
  • Démarrez DMARC avec p=none, puis durcissez-le plus tard.

Adresse d’expéditeur : Graph envoie au nom de la boîte connectée. L’envoi au nom d’une boîte partagée ou d’un autre utilisateur nécessite les droits Envoyer en tant que et n’est pas pris en charge pour le moment – ces tentatives échouent avec ErrorSendAsDenied.

Aucune région à choisir – Frontmail utilise le point de terminaison mondial de Microsoft Graph (graph.microsoft.com) et le point de terminaison de connexion common, qui fonctionne pour les comptes personnels comme professionnels. Les clouds nationaux (p. ex. Microsoft 365 opéré par 21Vianet, US Government) ne sont pas pris en charge.

Compte Limite approximative
Microsoft 365 / Exchange Online 10 000 destinataires par jour, 30 messages par minute, 500 destinataires par message
Outlook.com / Hotmail ~300 messages par jour, 100 destinataires par message (moins pour les nouveaux comptes)
Graph sendMail (MIME) jusqu’à 4 Mo par message, pièces jointes comprises

La valeur par défaut de Frontmail, 0,5 message par seconde, correspond à la limite Exchange de 30 messages par minute. Un dépassement renvoie des erreurs de limitation que Frontmail relance avec un délai croissant.

Microsoft Graph ne propose aucun webhook de livraison pour les e-mails envoyés : il n’y a donc rien à configurer et la page du service n’a pas d’URL de webhook. Frontmail sait seulement si Graph a accepté le message (sent) ou l’a refusé (failed). Les rapports de non-remise (NDR) arrivent dans votre boîte de réception sous forme d’e-mails normaux et ne sont pas ajoutés à la liste de suppression de Frontmail. Les ouvertures et les clics ne sont pas suivis.

  • auth – le service est cassé (jeton révoqué ou expiré, consentement manquant, pas de boîte, envoi « en tant que » refusé, 401/403). Le service est marqué unhealthy ; le propriétaire reçoit un e-mail et une bannière dans le tableau de bord. Un service de secours défini sur le modèle prend le relais ; sinon le crédit est remboursé et le message attend dans la file d’attente des e-mails retenus en held_service_error, puis part automatiquement après la reconnexion (revérifié à l’enregistrement et lors de la vérification d’état quotidienne).
  • permanent – ce message ne peut pas être envoyé (destinataires invalides, trop volumineux, requête invalide). Service de secours s’il est configuré, sinon failed et remboursé.
  • transient – limitation de débit, 5xx, délais dépassés. Relancé avec un délai exponentiel ; après la dernière tentative, failed et remboursé.
Réponse de Microsoft Catégorie Que faire
invalid_grant – AADSTS50173 / AADSTS700082 (autorisation expirée ou révoquée) auth Cliquez sur Reconnecter sur la page du service.
AADSTS65001 / « Approbation de l’administrateur nécessaire » auth Demandez à un administrateur du tenant d’accorder le consentement (voir plus haut), puis reconnectez-vous.
401 InvalidAuthenticationToken auth Normalement corrigé par l’actualisation automatique ; si le problème persiste, reconnectez-vous.
403 ErrorAccessDenied / Authorization_RequestDenied auth Le consentement a été retiré ou l’accès conditionnel bloque l’application – voyez avec votre administrateur.
MailboxNotEnabledForRESTAPI auth Le compte n’a pas de boîte Exchange Online (pas de licence ou boîte sur site).
ErrorSendAsDenied auth Utilisez l’adresse de la boîte connectée comme adresse d’expéditeur.
ErrorQuotaExceeded auth La boîte est pleine – libérez de l’espace pour que les Éléments envoyés puissent stocker le message.
400 ErrorInvalidRecipients permanent Voir destinataire invalide.
413 / ErrorMessageSizeExceeded permanent Gardez le message et ses pièces jointes sous 4 Mo.
429 ApplicationThrottled / ErrorExceededMessageLimit / MailboxConcurrency transient Limites par boîte atteintes – Frontmail ralentit ; réduisez le volume ou utilisez un fournisseur transactionnel.
500 / 503 ServiceUnavailable transient Panne chez Microsoft – Frontmail relance.
  • Boîte Exchange Online (ou Outlook.com) connectée via Connecter Outlook / Microsoft 365
  • Consentement accordé – par l’utilisateur ou, si nécessaire, par un administrateur du tenant
  • Microsoft 365 sur votre propre domaine : SPF include:spf.protection.outlook.com, DKIM selector1/selector2 activé, DMARC
  • Expéditeur du modèle = l’adresse de la boîte connectée
  • Tester la connexion réussit
  • Volume dans la limite de 30 messages/minute et de la limite quotidienne de destinataires
  • Service de secours configuré pour les modèles importants