Connecter Microsoft Outlook 365 à Odoo avec Azure OAuth

Odoo est compatible avec la solution Azure OAuth de Microsoft for Microsoft 365. Afin d’envoyer et de recevoir des emails sécurisés depuis un domaine personnalisé, il suffit de configurer quelques paramètres sur la plateforme Azure et sur le backend de la base de données Odoo. Cette configuration fonctionne soit avec une adresse email personnelle, soit avec une adresse créée par un domaine personnalisé.

Astuce

For more information, visit Microsoft’s documentation on setting up OAuth in Azure.

Configuration dans le portail Microsoft Azure

Créer une nouvelle application

Pour commencer, allez au Portail de Microsoft Azure. Connectez-vous avec le compte Microsoft Outlook Office 365 s’il y en a un, sinon connectez-vous avec votre compte Microsoft personnel. Un utilisateur disposant d’un accès administratif aux paramètres d’Azure devra se connecter et effectuer la configuration suivante. Ensuite, allez à la section intitulée Gérer Microsoft Entra ID (auparavant Azure Active Directory).

Cliquez sur Ajouter (+) dans le menu supérieur et puis sélectionnez Inscription d’application. Sur la page Inscrire une application, remplacez le Nom par Odoo ou un autre nom significatif. Dans la section Types de comptes pris en charge, sélectionnez Comptes dans un annuaire d’organisation (Tout annuaire Microsoft Entra ID - Multilocataire) et comptes Microsoft personnels (par exemple, Skype, Xbox).

Under the Redirect URL section, select Web as the platform, and then input https://<odoo base url>/microsoft_outlook/confirm in the URL field. The Odoo base URL is the canonical domain at which your Odoo instance can be reached (e.g. mydatabase.odoo.com if you are hosted on Odoo.com) in the URL field. Then, click Register and the application is created.

API autorisées

Il faut ensuite définir les API autorisées. Odoo aura besoin d’autorisations API spécifiques pour pouvoir lire (IMAP) et envoyer (SMTP) des emails dans la configuration Microsoft 365. Cliquez d’abord sur le lien API autorisées situé dans la barre de menu à gauche. Cliquez ensuite sur le bouton (+) Ajouter une autorisation et sélectionnez Microsoft Graph sous API Microsoft couramment utilisées. Ensuite, sélectionnez l’option Autorisations déléguées.

Dans la barre de recherche, recherchez les Autorisations dérégulées suivantes et cliquez sur Ajouter des autorisations pour chacune d’entre elles :

  • SMTP.Send

  • IMAP.AccessAsUser.All

Note

L’autorisation User.Read sera ajoutée par défaut.

API permissions added for the app.

Assigner des utilisateurs et des groupes

Après avoir ajouté les autorisations de l’API, revenez à la Vue d’ensemble de l”Application en haut du menu latéral gauche.

À présent, ajoutez des utilisateurs à cette application. Sous le tableau général Bases, cliquez sur le lien intitulé Application gérée dans le répertoire local ou la dernière option en bas à droite du tableau.

Link to the created application and to add users/groups.

Dans le menu latéral de gauche, sélectionnez Utilisateurs et Groupes. Ensuite, cliquez sur (+) Ajouter un Utilisateur/Groupe. En fonction du compte, un Groupe, ou un Utilisateur sera ajouté, ou uniquement des Utilisateurs. Les comptes personnels ne permettent d’ajouter que des Utilisateurs.

Sous Utilisateurs ou Groupes, cliquez sur Aucun sélectionné et ajoutez les utilisateurs ou le groupe d’utilisateurs qui enverront des emails depuis le compte Microsoft dans Odoo. Ajoutez les utilisateurs/groupes, cliquez sur Sélectionner, et ensuite assignez-les à l’application.

Créer des identifiants

Maintenant que l’application Microsoft Azure est configurée, des identifiants doivent être créées pour la configuration d’Odoo. Il s’agit de l”ID Client et du Secret Client. Pour commencer, l”ID Client peut être copié depuis la page Aperçu de l’application. L”ID Client ou l”ID d’application se situe en-dessous du Nom d’affichage dans l’aperçu Essentials de l’application.

ID d'application/client dans la Vue d'ensemble de l'application.

Ensuite, il faut récupérer la Valeur du Secret Client. Pour obtenir cette valeur, cliquez sur Certificats & Secrets dans le menu latéral de gauche. Ensuite, il faut produire un Secret Client. Pour ce faire, cliquez sur le bouton (+) Nouveau Secret Client.

Une fenêtre sur la droite s’affiche avec un bouton intitulé Ajouter un secret client. Sous Description, saisissez Odoo Fetchmail ou quelque chose de reconnaissable, puis définissez la date d’expiration.

Important

Un nouveau Secret Client devra être produit et configuré si le premier expire. Dans ce cas, il pourrait y avoir une interruption de service, il faut donc noter la date d’expiration et la fixer à la date la plus éloignée possible.

Cliquez ensuite sur Ajouter lorsque ces deux valeurs sont saisies. Une Valeur de Secret Client et un ID Secret seront créés. Il est importer de copier la Valeur ou la Valeur du Secret Client dans un bloc-notes, car elle sera chiffrée après avoir quitté cette page. L”ID Secret n’est pas nécessaire.

Valeur du Secret Client ou Valeur dans les identifiants de l'application.

Après ces étapes, les éléments suivants doivent être prêts à être configurés dans Odoo :

  • Un ID client (ID Client ou ID d’application)

  • Un secret client (Valeur ou Valeur du Secret Client)

Ceci complète la configuration du côté du Portail de Microsoft Azure

Configuration dans Odoo

Saisir des identifiants de Microsoft Outlook

Ouvrez d’abord la base de données Odoo et allez au module Applications. Supprimez ensuite le filtre Applications de la barre de recherche et saisissez Outlook. Ensuite, installez le module intitulé Microsoft Outlook.

Next, navigate to Settings –> General Settings, and under the Discuss section, ensure that the checkbox for External Email Servers is checked. This populates a new option for Outlook Credentials.

Enregistrez la progression.

Ensuite, copiez et collez l”ID Client (ID d’application) et le Secret Client (Valeur du Secret Client) dans les champs respectifs et enregistrez les paramètres.

Configurer le serveur de messagerie sortant

On the General Settings page, under the External Email Servers setting, click the Outgoing Email Servers link to configure the Microsoft account.

Then, create a new email server and check the box for Outlook. Next, fill in the Description (it can be anything) and the Microsoft Outlook email Username.

Then, cick on Connect your Outlook account.

Une nouvelle fenêtre de Microsoft s’ouvre pour finaliser le processus d’authentification. Sélectionnez l’adresse email personnalisée en cours de configuration dans Odoo.

Page d'autorisation pour accorder l'accès entre une application nouvellement créée et Odoo.

Ensuite, autorisez Odoo à accéder au compte Microsoft en cliquant sur Oui. Après cela, la page reviendra au Serveur de messagerie sortant nouvellement configuré dans Odoo. La configuration charge automatiquement le jeton dans Odoo et une étiquette indiquant Jeton Outlook valide apparaît en vert.

Finalement, cliquez sur Test de connexion. Un message de confirmation devrait apparaître. La base de données Odoo peut désormais envoyer des emails sûrs et sécurisés par le biais de Microsoft Outlook en utilisant l’authentification OAuth.

Astuce

To extend the server’s use, set a mail.force.smtp.from system parameter so that email is sent from a default from email address for all emails sent from the database. The value of the system parameter should be the username being configured in Microsoft Outlook.

Note

Les Paramètres système sont accessibles en activant le Mode développeur (mode débogage) dans le menu Paramètres ‣ Technique ‣ Paramètres ‣ Paramètres système.

Pour plus d'infos