Module Collecteur de courrier électronique

From Dolibarr ERP CRM Wiki
Revision as of 11:19, 10 November 2026 by Mapiolca (talk | contribs) (Ajout de la configuration coté office 365)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search


Collecteur de courrier électronique
Numéro/ID du module 50320
Doc utilisateur du module Cette page
Doc développeur du module Module Collecteur de courrier électronique (développeur)

Introduction

Ajoute un travail planifié et une page de configuration pour analyser régulièrement les boîtes aux lettres (à l'aide du protocole IMAP) et enregistrer les courriers électroniques reçus dans votre application, au bon endroit et/ou créer automatiquement certains enregistrements (comme des opportunités).

Voir Quoi de neuf dans Dolibarr v10 : https://youtu.be/GaLi7uTYEm8?t=48 + https://youtu.be/lcUBteiW7gA?t=2887

Installation

Ce module est livré en standard avec la distribution de Dolibarr, aussi il est déjà installé.

Configuration

Pour utiliser ce module, il vous faut d'abord l'activer. Pour cela, après s'être connecté avec un compte administrateur, aller sur la page "Accueil - Configuration - Modules".

Choisissez l'onglet dans lequel apparaît le module puis cliquez sur "Activer".

Le module est alors activé.

Si un pictogramme Cog circle.svg apparaît sur la vignette ou à la fin de la ligne du module, cliquez dessus pour accéder à la page de paramétrage spécifique à ce module.

Configuration avec Microsoft 365 / Office 365 (Exchange Online)

Cette procédure décrit une collecte IMAP avec OAuth 2.0 délégué et autorisation initiale dans un navigateur. Elle s’appuie sur les mécanismes natifs de Dolibarr 24 ; les intitulés et fournisseurs proposés peuvent varier avec la version installée. Elle ne décrit pas le mode « application seule » avec IMAP.AccessAsApp.

Prérequis

  • Une boîte Exchange Online accessible au compte qui autorisera la connexion.
  • Un accès administrateur à Dolibarr et l’intervention d’un administrateur Microsoft Entra / Exchange pour les autorisations nécessaires.
  • Une URL Dolibarr HTTPS valide, comprenant son éventuel sous-répertoire.
  • Depuis le serveur hébergeant Dolibarr : résolution DNS et connexions TCP sortantes vers outlook.office365.com:993 et vers les points de terminaison Microsoft OAuth en HTTPS sur le port 443. Une connexion réussie depuis le poste de l’utilisateur ne vérifie pas celle du serveur.

Côté Dolibarr : relever les informations avant l’inscription Microsoft

  1. Activer le module Collecteur de courrier électronique dans Configuration → Modules/Applications.
  2. Ouvrir Configuration → Services OAuth, ou la page /admin/oauth.php.
  3. Créer un service dédié et sélectionner, lorsqu’il est proposé, Microsoft Exchange Online [SMTP/IMAP]. Ce service peut servir à la réception seule.
  4. Copier l’URL de redirection affichée par Dolibarr. Pour ce fournisseur, elle se termine par /core/modules/oauth/microsoft3_oauthcallback.php. Exemple : https://erp.example.org/core/modules/oauth/microsoft3_oauthcallback.php.
  5. Avec un autre fournisseur natif ou générique, utiliser son URL affichée : les callbacks microsoft, microsoft2 et generic sont différents. Ne pas substituer un chemin arbitraire.

Côté Microsoft 365

1. Inscription de l’application

Dans le centre d’administration Microsoft Entra, ouvrir Identité → Inscriptions d’applications → Nouvelle inscription.

  • Donner un nom explicite à l’application, par exemple « Dolibarr – collecte IMAP ».
  • Pour une installation interne à une organisation, choisir les comptes de cet annuaire uniquement.
  • Ajouter une plateforme Web et renseigner exactement l’URL de redirection copiée depuis Dolibarr.
  • Conserver l’ID d’application (client) et l’ID d’annuaire (locataire / tenant).

Voir l’inscription d’application et les URI de redirection.

2. Identifiant confidentiel de l’application

Pour le fournisseur Dolibarr utilisant un secret client, ouvrir Certificats et secrets → Secrets client → Nouveau secret client. Copier sa valeur, et non son identifiant. Noter sa date d’expiration et prévoir son remplacement dans Dolibarr. Cette valeur n’est plus affichée ensuite. Ne pas la publier dans le wiki, les journaux ou un courriel.

Voir les identifiants de l’application.

3. Autorisations et consentement

Configurer les autorisations déléguées nécessaires au parcours choisi : IMAP.AccessAsUser.All et offline_access. Elles figurent notamment dans le catalogue Microsoft Graph des autorisations déléguées. Mail.Read seul ne remplace pas l’autorisation IMAP.

Faire accorder le consentement administrateur lorsque la politique du tenant l’exige, puis vérifier son état. Ajouter les permissions à l’inscription ne constitue pas, à lui seul, un consentement. L’approbation par l’administrateur ne dispense pas d’autoriser ensuite la boîte depuis Dolibarr.

Les filtres de collecte ne restreignent pas les droits du jeton sur la messagerie.

Voir la permission IMAP et le diagnostic du consentement.

4. Autoriser IMAP pour la boîte

Dans le centre d’administration Exchange : Destinataires → Boîtes aux lettres → sélectionner la boîte → Applications de messagerie → Gérer, puis activer IMAP si nécessaire.

Un administrateur Exchange peut aussi utiliser PowerShell, après connexion à Exchange Online :

Get-CASMailbox -Identity "collecte@example.org" | Select-Object ImapEnabled
Set-CASMailbox -Identity "collecte@example.org" -ImapEnabled $true

Les stratégies de sécurité et d’accès conditionnel doivent permettre ce parcours OAuth. Ne pas désactiver globalement la MFA ou les protections du tenant pour contourner un refus.

Voir la gestion des protocoles et Set-CASMailbox.

Côté Dolibarr : terminer la connexion OAuth

Dans le service OAuth créé précédemment :

Champ Valeur
ID client ID d’application Microsoft
Secret client Valeur du secret
Tenant / annuaire ID du locataire Microsoft
Portée IMAP https://outlook.office.com/IMAP.AccessAsUser.All
Renouvellement offline_access

Pour cette réception seule, ne pas sélectionner SMTP.Send ni ajouter de portées Graph de lecture du courrier au jeton IMAP.

Enregistrer, puis utiliser l’action d’autorisation / génération du jeton. Se connecter avec le compte de la boîte à collecter, satisfaire la MFA et revenir dans Dolibarr. Vérifier que le jeton est enregistré et que le renouvellement est disponible. Un consentement obtenu avec le compte administrateur n’implique pas que le jeton de la boîte cible existe.

Le fournisseur Microsoft natif gère les points de terminaison. Pour identifier les paramètres d’un fournisseur personnalisable :

Autorisation : https://login.microsoftonline.com/<TENANT_ID>/oauth2/v2.0/authorize
Jeton : https://login.microsoftonline.com/<TENANT_ID>/oauth2/v2.0/token

Voir OAuth pour IMAP et le flux d’autorisation.

Paramétrer le collecteur

Dans les versions où l’authentification OAuth du collecteur dépend de PHP-IMAP/Webklex, activer le moteur natif avec la constante MAIN_IMAP_USE_PHPIMAP à 1 dans Configuration → Divers. Vérifier que les composants nécessaires sont présents dans la distribution ; ne pas confondre ce moteur avec l’extension PHP ext-imap.

Paramètre Valeur / choix
Serveur IMAP outlook.office365.com
Port 993
Chiffrement SSL/TLS implicite ; généralement libellé « SSL » dans Dolibarr
Authentification Jeton OAuth / OAuth2
Identifiant Adresse complète de la boîte
Service OAuth Service autorisé pour cette boîte
Mot de passe de boîte Non utilisé pour OAuth ; le secret client reste dans le service OAuth
Dossier source INBOX, ou nom IMAP exact du dossier
Nombre maximal initial 1, pour limiter le premier essai

La collecte utilise le port 993 ; SMTP 587 ne sert pas à lire les mails. Voir les paramètres Exchange Online.

Configurer ensuite les filtres et les opérations. Pour isoler un formulaire, combiner par exemple l’expéditeur attendu et le destinataire. Une opération de création métier et ses permissions restent distinctes de l’accès IMAP.

Sous Multicompany, configurer le collecteur, le service OAuth et les opérations dans l’entité attendue ; vérifier leurs droits et leur disponibilité. Une connexion Microsoft réussie ne valide pas la création métier.

Tester, planifier et maintenir

  1. Garder le collecteur inactif pendant le paramétrage. Contrôler d’abord la connexion et les dossiers.
  2. Tester la sélection sur un petit nombre de messages et lire le compte rendu.
  3. Le mode test standard évite les déplacements IMAP et annule les écritures SQL prévues. Les effets externes d’extensions, comme un envoi de courriel, ne sont pas nécessairement annulables : vérifier les opérations avant l’essai.
  4. Effectuer un essai réel maîtrisé, contrôler les objets créés et le traitement du message, puis activer le collecteur.
  5. Activer le travail natif correspondant dans Travaux planifiés, et vérifier que le planificateur Dolibarr est réellement appelé par le serveur. Consulter le dernier résultat et les erreurs.

Prévoir le renouvellement du secret client, la surveillance des échecs et une nouvelle autorisation si le jeton de renouvellement est révoqué. Ne pas coller manuellement un jeton temporaire comme solution permanente. Voir les jetons de renouvellement.

Dépannage

Symptôme Vérification
Consentement administrateur demandé, notamment AADSTS90094 Application, tenant, permissions déléguées réellement demandées et consentement
Erreur d’URI de redirection URL HTTPS exacte, sous-répertoire et callback du fournisseur choisi
Jeton accepté, authentification IMAP refusée Compte autorisé, login du collecteur, portée Exchange IMAP et protocole autorisé
Délai dépassé / port 993 inaccessible DNS et pare-feu sortant du serveur d’hébergement, y compris les restrictions de l’hébergeur
Aucun message sélectionné Dossier, expéditeur, destinataire, autres filtres et limite de collecte
Mails lus, aucun objet créé Opérations, droits, entité et compatibilité du module métier
Collecte arrêtée après une période de fonctionnement Secret expiré, révocation du jeton ou stratégie de connexion modifiée

Boîtes partagées : ce guide vise une boîte utilisateur. Une boîte partagée utilise un utilisateur délégué disposant de droits sur cette boîte ; vérifier le support de ce cas par la version Dolibarr. Ne pas supposer une connexion interactive directe à la boîte partagée.

Envoi de courriels : l’envoi SMTP se configure séparément. SMTP.Send et les réglages SMTP AUTH ne sont à ajouter que si l’envoi est nécessaire.

Références Dolibarr et portée de la vérification

Texte préparé le 10 novembre 2026, sans captures d’écran. Lecture des sources et documentation Microsoft ; cela ne constitue pas une recette de toutes les versions ni de tous les tenants.

Pour déplacer un mail qui a été traité, il est nécessaire que le nom du dossier destination ne comporte pas de caractère spéciaux.

Utilisation

Laissez le planificateur de travaux s'exécuter automatiquement et voyez vos données enregistrées dans Dolibarr.

Pour éviter d'attendre trop, vous pouvez forcer à exécuter manuellement le collecteur d'e-mails depuis la fiche du collecteur d'e-mails avec le bouton "Exécuter maintenant". Lors du test, une bonne pratique consiste à définir le nombre maximum d'e-mails collectés sur une valeur faible.

Un mode test est également disponible. Ce mode ne provoque aucune modification de votre boite mail (juste lecture) ni modification dans Dolibarr. Il vous permet par contre de voir les différentes étapes de sélection, filtre et traitement qui seraient réalisées si on n'était pas en mode test.