Microsoft 365 (Ex Office 365) sur Dolibarr - ça vous intéresse?

Bonjour

Je précise que la synchro agenda et contacts est bidirectionnelle, la tache cron sert à maintenir actif le webhook coté microsoft. Les données arrivent donc instantanément dans dolibarr. Pour le collecteur, il est possible d’activer la fonctionalité expérimentale dans la version sur le dolistore.
Effectivement, sur un hébergement spécialisé dolibarr où l’upload est limité à 2Mo, ça peut être compliqué :upside_down_face:

Fred

Je corrige pour le collecteur de mails. J’ai commandé le module pour un autre client, sur une installation Dolibarr neuve et un hébergement plus optimisé Dolibarr (contrairement à mon mutualisé OVH). Et le collecteur de mail Microsoft 365 semble fonctionner (pas encore exploité mais en tout cas la connexion avec la boite mail se fait).

Bonjour pour l’avoir mis en prod chez un client, ce module est juste parfait!
Merci beaucoup

Bonjour @3MCConseil .

Pourriez-vous m’indiquer s’il vous plait de quel module vous parlez :

  • est-ce le " Doli 365 Microsoft Graph Api 10.0.0 - 17.0.0" de Dolistore (module #1831)
  • ou est-ce le module en cours de développement par @cdeboudt et dans ce cas là, où l’avez-vous trouvé ?

Je me pose la question parce que la page du module (dans Dolistore) indique que la réception de mail est impossible mais @cdeboudt indique que le collecteur de mail fonctionne. Et parce que je serais moi aussi intéressé à le mettre en œuvre.

Bonjour c’est le module #1831
Il est très bien
Je m’en sert pour gérer le planning des commerciaux
La communication est bi directionnelle et en temps réel entre MS365 et Dolibarr
Ma cliente utilise Dolibarr en CRM et a un ERP autre grâce à ce module la boucle est bouclée
Les clients et prospects redescendent de l’ERP dans Doli, les rdv sont planifiés dans Doli et mis à jour en temps réel dans les Outlook des commerciaux, les comptes rendus sont saisis dans Doli et remontés dans l’ERP

J’ai juste apporté une modif dans le module pour avoir la gestion des couleurs dans le calendrier selon si le rdv est honoré ou pas (compte rendu saisi dans Doli)

Bonjour, quand je parle du collecteur de mails, je parle de Doli 365; J’ai abandonné mon développement vu que le module Doli 365 était déjà plus avancé.

Merci beaucoup pour cette réponse rapide.

Merci à vous aussi, je vais discuter avec l’éditeur.
Bonne journée à vous et à vous aussi, @3MCConseil

Bonjour

En effet le collecteur fonctionne, mais c’est expérimental. Les contributions sont les bienvenues, l’accès au github peut vous être accordé sous conditions…

Fred

Concernant l’envoi de mails, comment indiquer à Dolibarr d’utiliser la méthode Graph API plutôt que les méthodes natives ?

Bonjour

Le module se débrouille tout seul (hook) et envoie l’email par l’api graph si l’utilisateur a un token, sinon c’est la config de base qui est utilisée.

On peut aussi générer un token pour les Expediteurs configuré ici :

Fred

J’ai un problème puisque j’ai bien l’indication « Jeton reçu et sauvegardé », pour un utilisateur mais c’est la fonction PHP de base qui est utilisée.

Je pense que le « Jeton reçu et sauvegardé » est un faux positif : j’ai changé tous les champs de l’utilisateur en questions avec des informations random qui n’existent pas dans le tenant, et pourtant j’ai toujours « Jeton reçu et sauvegardé »

Cela pourrait expliquer que PHP de base soit utilisé au lieu de Graph API.

Lorsque la demande de jeton est faite, comment est géré le claim ? Adresse mail de Dolibarr VS adresse mail de l’user sur Entra ID ? Login Dolibarr vs « oid » Entra ID ?

edit : après essai je pense que c’est « email » qui est utilisé comme claim pour récupérer le jeton. Lorsque je mets « [email protected] » je vois bien qu’il se passe quelque chose coté microsoft. Le mails est dans « envoyé » dans Outlook

Par contre lorsque je mets une adresse inexistante « [email protected] » j’ai quand même « Jeton reçu et sauvegardé » mais PHP mail est utilisé

Ce qui peut provoquer une faille de sécurité pour peu que l’utilisateur ait le droit de modifier son adresse mail depuis son profil Dolibarr.
J’ai pu envoyer un mail en tant « [email protected] » en étant connecté avec « user » sur Dolibarr

L’adresse email obtenue lors de la récupération du token est stockée dans un extrafield qui est normalement caché.


c’est là qu’on décide comment faire

Fred

J’ai un problème d’intégration chez les clients avec cette méthode.

Certains utilisateurs vont avoir un token valide et d’autres non, si bien que parfois c’est la méthode PHP qui est utisée et parfois c’est Exchange.

Ne préfères-tu pas qu’on ajoute dans le menu => configuration => mail : envoyer par Graph API / Microsoft Exchange ?

Et dans ce cas tout envoi de mail est interdit avec PHP.

je confirme. J’ai un module MBI Sign qui n’utilise pas Exchange Online via le module Graph, et doit avoir une méthode valide menu => configuration => mail pour pouvoir envoyer des messages. Pas dramatique, mais axe d’amélioration.

Dans ton cas d’utilisation, il faudrait plusieurs méthodes possibles ?

API Graph pour les utilisateurs
SMTP ou PHP pour le module MBI Sign ?

Ne peux tu pas faire partir les mails MBI Sign depuis un compte Microsoft [email protected] ?

Multiplier les méthodes d’envoi ne me dit rien de bon.

non, il faudrait juste que le module graph soit implémenté de telle sorte que dans le menu menu => configuration => mail on y trouve Microsoft Graph comme ça 100% des fonctionnalités de Dolibarr et des modules externes utiliseraient la même méthode. J’avais déjà échangé avec Eldy, visiblement c’est possible d’ajouter des méthodes d’envoi dans cette partie.

Je m’autocorrige. ça fonctionne si on ajoute l’adresse mail dans « paramétrage des emails » , « expéditeurs des emails ». Je n’avais pas pensé nécessaire de remplir ce champ car sur Dolibarr c’est indiqué que c’est facultatif et parce que je n’utilise qu’une seule boite mail, pour les envois de pièces comme pour les mails automatiques.

Je viens seulement de réussir à faire fonctionner le collecteur de mails aujourd’hui.
Mais je n’arrivais pas à déplacer un mail traité par le collecteur vers un autre dossier créé pour l’occasion (pour éviter qu’il soit traité deux fois).

Finalement en mettant comme dossier de destination « deleteditems », « sentitems », « draft », etc… ça fonctionne. J’en ai donc conclu que seuls les dossiers d’origine étaient utilisables. J’ai creusé, et je suis allé sur Microsoft Graph Explorer pour lancer la requête https://graph.microsoft.com/v1.0/me/mailFolders(‹ Inbox ›)/childFolders qui permet de trouver l’id de chaque sous dossier de la boite de réception. Je récupère le champ Id que j’indique comme dossier de destination et là ça fonctionne.

Très bien mais pas simple à mettre en place.
Je fouille dans Outlook (version bureau), pas moyen de trouver cet ID d’un simple clic.
Par contre sur le webmail, l’ID du dossier d’affiche dans l’URL quand on le sélectionne un dossier. Mais il faut savoir ou s’arrêter dans la sélection (dans mon cas il ne faut pas inclure le %3D présent à la fin de l’URL). Ne vous attendez pas à un ID simple à retenir, celui de mon dossier fait 122 caractères.

Voilà, le collecteur de mail sous Microsoft Graph fonctionne sur mon Dolibarr :slight_smile: . Une documentation serait nécessaire afin qu’il soit utilisable par le plus grand nombre, ou encore mieux, une liste déroulante dans le champ « dossier source » et « dossier destination ». Après tout, ceux qui utilisent ce module utilisent tous le même système de messagerie et la fonction de listage des sous dossiers d’une boite mail existe, donc ajouter la liste déroulante qui affiche tous les sous dossiers de la boite de réception doit être envisageable pour un bon développeur comme Fredéric :wink:

J’ai essayé de lancer le collecteur en indiquant une boite mail partagée dans le champ « Email » du collecteur. ça ne semble pas être pris en compte car il continue à traiter les mails de ma boite principale. Il doit rester une subtilité que je n’ai pas comprise.