Aller au contenu principal

Guide : Connecter un compte Office 365

Ce guide vous explique comment enregistrer une application dans Azure Active Directory et connecter un compte Microsoft 365 à SendAs.me.

Prérequis

  • Un compte Microsoft 365 ou Azure (avec droits d'administration Azure AD)
  • Accès au Portail Azure
  • Une application SendAs.me avec le plugin microsoft activé

Partie 1 : Enregistrer l'application dans Azure AD

Étape 1 : Accéder à Azure Active Directory

  1. Connectez-vous sur portal.azure.com
  2. Dans la barre de recherche, tapez Azure Active Directory
  3. Cliquez sur Azure Active Directory

Étape 2 : Créer un enregistrement d'application

  1. Dans le menu gauche, cliquez sur Inscriptions d'applications
  2. Cliquez sur + Nouvelle inscription
  3. Remplissez le formulaire :
    • Nom : SendAs.me Integration
    • Types de comptes pris en charge :
      • Pour un usage interne (votre tenant uniquement) : Comptes dans cet annuaire d'organisation uniquement
      • Pour un usage multi-tenant : Comptes dans un annuaire d'organisation quelconque
      • Pour accepter aussi les comptes Microsoft personnels : Comptes dans un annuaire d'organisation et comptes Microsoft personnels
  4. URI de redirection :
    • Type : Web
    • URI : https://api.sendas.me/oauth/callback/microsoft
  5. Cliquez sur S'inscrire
Choix du type de compte

Pour la plupart des entreprises, "Comptes dans cet annuaire d'organisation uniquement" est le choix approprié. Cela limite l'accès aux comptes de votre organisation. Si vous souhaitez que des utilisateurs d'autres organisations puissent se connecter, choisissez "multi-tenant".

Étape 3 : Copier les identifiants

Après l'inscription, sur la page Vue d'ensemble de l'application, copiez :

  • ID d'application (client) : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
  • ID de l'annuaire (locataire) : yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy

Notez également :

  • Pour multi-tenant : utilisez common comme MICROSOFT_TENANT_ID
  • Pour mono-tenant : utilisez l'ID de l'annuaire copié ci-dessus

Étape 4 : Configurer les permissions API

  1. Dans le menu gauche, cliquez sur Autorisations API
  2. Cliquez sur + Ajouter une autorisation
  3. Choisissez Microsoft Graph
  4. Choisissez Autorisations déléguées
  5. Recherchez et ajoutez :
    • Mail.Send — Envoyer des e-mails en tant que l'utilisateur
    • offline_access — Conserver l'accès (refresh token)
    • User.Read — Lire le profil utilisateur
  6. Cliquez sur Ajouter des autorisations

Accorder le consentement administrateur (recommandé)

Pour éviter que chaque utilisateur doive manuellement consentir :

  1. Cliquez sur Accorder le consentement administrateur pour [Votre Organisation]
  2. Confirmez en cliquant Oui
  3. Les autorisations affichent maintenant le statut Accordé pour [Votre Organisation] (coche verte)
Consentement administrateur

Si vous accordez le consentement au niveau administrateur, les utilisateurs de votre organisation pourront connecter leur compte sans voir l'écran de consentement détaillé. Cela améliore l'expérience utilisateur.

Étape 5 : Créer un secret client

  1. Dans le menu gauche, cliquez sur Certificats & secrets
  2. Cliquez sur + Nouveau secret client
  3. Description : SendAs.me Production
  4. Expiration : Choisissez 24 mois (recommandé) ou Personnalisé
Renouvellement du secret

Notez la date d'expiration dans votre calendrier. À l'expiration, le secret devient invalide et tous les envois d'e-mails échoueront. Vous devrez créer un nouveau secret et mettre à jour MICROSOFT_CLIENT_SECRET.

  1. Cliquez sur Ajouter
  2. Copiez immédiatement la valeur du secret — elle n'est visible qu'une seule fois

Exemple de valeur : abc~defGHIjklMNOpqrSTUvwxYZ123456-

Partie 2 : Configurer SendAs.me

Mettez à jour votre fichier .env avec les valeurs copiées :

MICROSOFT_CLIENT_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
MICROSOFT_CLIENT_SECRET=abc~defGHIjklMNOpqrSTUvwxYZ123456-
MICROSOFT_TENANT_ID=common

Pour un tenant spécifique (recommandé pour usage interne) :

MICROSOFT_TENANT_ID=yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy

Redémarrez le service API :

docker compose restart api

Partie 3 : Connecter un compte Microsoft dans le portail

Étape 1 : Accéder à votre application

  1. Connectez-vous sur https://app.sendas.me
  2. Allez dans Applications
  3. Cliquez sur votre application (plugin microsoft doit être activé)

Étape 2 : Lancer la connexion OAuth

  1. Cliquez sur Connecter un compte Microsoft
  2. Vous êtes redirigé vers la page de connexion Microsoft

Étape 3 : S'authentifier avec Microsoft

  1. Entrez votre adresse e-mail Microsoft 365
  2. Entrez votre mot de passe
  3. Si l'authentification à deux facteurs est activée, complétez-la
  4. Accordez les permissions demandées :
    • ✅ Lire votre profil
    • ✅ Envoyer des e-mails en votre nom
  5. Cliquez sur Accepter

Étape 4 : Vérifier la connexion

Dans le portail, la section Comptes OAuth affiche :

  • L'adresse e-mail Microsoft connectée
  • Statut : Connecté (badge vert)
  • Plugin : microsoft

Vérification de l'envoi

import smtplib
from email.mime.text import MIMEText

msg = MIMEText("Test de connexion Office 365 via SendAs.me")
msg["Subject"] = "Test Microsoft 365"
msg["From"] = "votre-compte@monentreprise.com"
msg["To"] = "destinataire@example.com"

with smtplib.SMTP("smtp.sendas.me", 587) as s:
s.starttls()
s.login("app_pk_VotrePushableKey", "votre_smtp_password")
s.sendmail(msg["From"], [msg["To"]], msg.as_string())
print("Envoyé via Office 365 !")

Renouvellement du secret client

Lorsque votre secret Azure approche de son expiration :

  1. Allez dans Azure AD → Inscriptions d'applications → votre app → Certificats & secrets
  2. Créez un nouveau secret client avant de supprimer l'ancien
  3. Mettez à jour MICROSOFT_CLIENT_SECRET dans .env
  4. Redémarrez le service API : docker compose restart api
  5. Vérifiez que les envois fonctionnent
  6. Supprimez l'ancien secret dans Azure

Résolution de problèmes

Erreur "AADSTS50011: The redirect URI does not match"

L'URI de redirection dans Azure ne correspond pas. Vérifiez dans Azure AD → Inscriptions d'applicationsAuthentification que l'URI suivante est présente :

https://api.sendas.me/oauth/callback/microsoft

Erreur "AADSTS700016: Application not found in directory"

Le MICROSOFT_TENANT_ID est incorrect. Si votre app est mono-tenant, utilisez l'ID du tenant Azure où l'app est enregistrée. Si multi-tenant, utilisez common.

Erreur lors du refresh token

Si le refresh token expire ou est révoqué, l'utilisateur doit se reconnecter. Configurez un webhook oauth_expired pour être alerté automatiquement.

Restriction de l'admin "Need admin approval"

Certaines organisations Microsoft requièrent l'approbation d'un administrateur pour les nouvelles applications. Demandez à un administrateur Azure AD d'approuver l'application dans Applications d'entrepriseDemandes de consentement administrateur.