Conecte Microsoft Outlook 365 a Odoo con Azure OAuth

Odoo es compatible con el Azure OAuth de Microsoft para Microsoft 365. Para enviar y recibir correos seguros con un dominio personalizado, solo necesita realizar algunos ajustes en la plataforma de Azure y en el backend de su base de datos de Odoo. Esta configuración funciona ya sea con una dirección de correo personal o una dirección creada con un dominio personalizado.

Truco

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

Configuración en el portal de Microsoft Azure

Crear una nueva aplicación

To get started, go to Microsoft’s Azure Portal. Log in with the Microsoft Outlook Office 365 account if there is one, otherwise log in with the personal Microsoft account. A user with administrative access to the Azure Settings will need to connect and perform the following configuration. Next, navigate to the section labeled Manage Microsoft Entra ID (formally Azure Active Directory).

Now, click on Add (+), located in the top menu, and then select App registration. On the Register an application screen, rename the Name to Odoo or something recognizable. Under the Supported account types section select Accounts in any organizational directory (Any Microsoft Entra ID directory - Multitenant) and personal Microsoft accounts (e.g. 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.

Permisos del API

Ahora tiene que configurar los permisos del API. Odoo necesita permisos API para poder leer (IMAP) y enviar (SMTP) correos en la configuración de Microsoft 365. Primero, haga clic en el enlace permisos API que se encuentra en la barra izquierda del menú. Después, haga clic en el botón (+) Add a Permission (agregar un permiso) y seleccione Microsoft Graph (gráfica de Microsoft) en Commonly Used Microsoft APIs (API de Microsoft que más se usan).

En la barra de búsqueda, busque Deregulated permissions (permisos no regulados) y haga clic en Add permissions (agregar permisos) para cada uno:

  • SMTP.Send

  • IMAP.AccessAsUser.All

Nota

El permiso User.Read se agregará de manera automática.

API permissions added for the app.

Asignación de usuarios y grupos

Después de agregar los permisos API regrese al Overview (resumen) de la aplicación hasta arriba del menú de la barra lateral izquierda.

Ahora, agregue usuarios a esta aplicación. En la tabla de resumen Essentials (esenciales) haga clic en el enlace llamado Managed Application in Local Directory (aplicación gestionada en el directorio local) o la última opción en el lado derecho inferior de la tabla.

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

En el menú del lado izquierdo, seleccione Users and Groups (usuarios y grupos). Después, haga clic en (+) Add User/Group (agregar un usuario o grupo). Dependiendo de la cuenta podrá agregar ya sea un grupo y un usuario o solo un usuario. En las cuentas personales solo es posible agregar usuarios.

En usuarios o grupos, haga clic en None Selected (ninguno seleccionado) y agrege los usuarios o el grupo de usuarios que enviará correos desde la cuenta de Microsoft en Odoo. Agregue a los usuarios o grupos, haga clic en guilabel:Select (seleccionar) y después Assign (asígnelos) a la aplicación.

Creación de credenciales

Ya que configuró la aplicación de Microsoft Azure, ahora necesita crear credenciales para la configuración en Odoo. Estas credenciales incluyen Client ID y Client Secret. Para empezar, podrá copiar el Client ID desde la página Overview de la aplicación. El Client ID o el Application ID se encuentra bajo Display Name en la parte de Essentials del resumen de la aplicación.

Application/Client ID que se encuentra en el resumen de la aplicación.

Ahora tiene que obtener el Client Secret Value (valor secreto del cliente). Para obtener este valor haga clic en el botón Certificates & Secrets (certificados y secretos) que se encuentra en el menú de la barra izquierda. Ahora tendrá que producir un Client Secret (secreto de cliente) y para hacerlo tiene que hacer clic en el botón (+) New Client Secret (nuevo secreto del cliente).

Aparecerá una ventana en la derecha con el botón Add a client secret (agregar un secreto de cliente). En Description (descripción) escriba Odoo Fetchmail o algo que usted pueda reconocer y después agregue una expiration date (fecha de caducidad).

Importante

Si el primer secreto caduca, tendrá que configurar un secreto de cliente nuevo. Si esto ocurre, es posible que el servicio se interrumpa, así que configure esta fecha para que sea la fecha más lejana posible.

Después de que haya ingresado estos dos valores haga clic en Add (agregar). Así se crearán un Client Secret Value (valor secreto del cliente) y un ID secreto. Es importante copiar el Value (valor) o el Client Secret Value (valor secreto del cliente) en un bloc de notas ya que estos valores se encriptarán una vez que deje esta página. No necesita el Secret ID (ID secreto).

Valor secreto del cliente o valor en las credenciales de la aplicación.

Si siguió todos los pasos, tendrá la información siguiente disponible para agregarla a Odoo:

  • Un ID de cliente (Client ID o Application ID)

  • Un secreto del cliente (Value o Client Secret Value)

Este es el final de la configuración en el portal de Microsoft Azure.

Configuración en Odoo

Ingresar credenciales de Microsoft Outlook.

Primero, abra la base de datos de Odoo y vaya al módulo Aplicaciones. Después, quite el filtro Aplicaciones de la barra de búsqueda y escriba Outlook. Después de eso, instale el módulo llamado 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.

Guarde el progreso.

Después, copie y pegue el Client ID (ID de la aplicación) y el Client Secret (valor secreto del cliente) en los campos respectivos. Al finalizar, guarde los cambios.

Configurar servidor de correos electrónicos salientes

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.

Se abrirá una nueva ventana de Microsoft para completar el proceso de autorización. Seleccione la misma dirección de correo electrónico que está configurando en Odoo.

Página de permito para permitir el acceso entre la nueva aplicación y Odoo.

Haga clic en para permitir que Odoo acceda a su cuenta de Microsoft. Después, la página lo redireccionará de regreso al Servidor de correos salientes que acaba de crear. La configuración carga automáticamente el token en Odoo y también aparecerá una etiqueta verde llamada Token de Outlook válido.

Ahora haga clic en probar conexión, debería aparecer un mensaje de confirmación. Ahora, la base de datos de Odoo puede enviar correos seguros a través de Microsoft Outlook con la ayuda de la autenticación OAuth.

Truco

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.

Nota

Puede acceder a los parámetros de sistema can al activar el Modo de desarrollador (modo depuración) en el menú Ajustes ‣ Técnico ‣ Parámetros ‣ Parámetros del sistema.