Configuración para el IMAP con dominio de Office 365 Wiki – Configuración IMAP Office 365 con OAuth2 Objetivo Este documento explica paso a paso cómo configurar una cuenta de correo Office 365 utilizando autenticación OAuth2 (  https://www.limilabs.com/blog/oauth2-client-credential-flow-office365-exchange-imap-pop3-smtp para conexiones IMAP dentro del sistema. Requisitos Previos Antes de iniciar, se debe contar con: Acceso administrador al portal de Microsoft 365 / Azure Correo electrónico a configurar Contraseña del correo Acceso al portal de Azure / Entrada ID Permisos para registrar aplicaciones Acceso al sistema ERP Información Necesaria Durante la configuración se solicitarán los siguientes datos: Dato Descripción Email Cuenta de correo a configurar Client ID Identificador de la aplicación Tenant ID Identificador del directorio Client Secret Clave secreta generada en Azure Servidor IMAP Servidor de correo entrante Puerto IMAP Puerto de conexión IMAP Antes de iniciar: Validar que el usuario tenga permisos suficientes. Confirmar acceso al portal de Azure. Verificar permisos dentro del sistema para modificar configuraciones. Paso 1 : Ingresar al Portal Azure  Ingresar al portal de Microsoft Azure y acceder con una cuenta con permisos administrativos. https://learn.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app   https://learn.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app Ingresar al portal de Microsoft Azure y acceder con una cuenta con permisos administrativos. Paso 2 : Registro de Aplicaciones Ingresar a Microsoft Entra ID → Registro de aplicaciones y crear una nueva aplicación. Paso 3 : Obtener Client ID y Tenant ID Desde la sección Información general copiar el Application ID y Directory ID. Ruta Ingresar a: Microsoft Entra ID Luego: Registro de aplicaciones Presionar: Nuevo registro Completar: Campo Valor Nombre Nombre descriptivo de la integración Tipo de cuenta Solo esta organización Presionar: Registrar Nuevo secreto de cliente Completar: Campo Valor Descripción Nombre descriptivo Expiración Según política del cliente Presionar: Agregar Importante Copiar inmediatamente: Valor del secreto ⚠️ Este valor solo se muestra una vez. Paso 4 : Crear Client Secret Ingresar a Certificados y secretos, para de esta forma generar un nuevo secreto de cliente. Después de registrar la aplicación: Ingresar a: Información general Copiar: Application (client) ID Importante Este valor corresponde al: Client ID Paso 5 : Obtener el Tenant ID En la misma pantalla: Copiar: Directory (tenant) ID Importante Este valor corresponde al: Tenant ID Recomendación Verificar cuidadosamente que pertenezca a la compañía correcta. Un Tenant ID incorrecto provocará errores de autenticación. 1.     Paso 6: Va lidación de Configuración mediante PowerShell 2. Objetivo 3. Esta validación permite confirmar que la aplicación registrada en Microsoft 365 tiene los permisos y configuraciones correctas para utilizar IMAP con OAuth2. 5. Paso 1:Ejecutar Comandos en PowerShell 6. Abrir PowerShell con permisos administrativos y ejecutar los siguientes comandos: Get-ServicePrincipal Get-MailboxPermission -Identity "correo@dominio.com" Ejemplo  Get-MailboxPermission -Identity "AdeleV@your-domain.onmicrosoft.com" Asignación de Permisos al Mailbox mediante PowerShell Objetivo Este proceso permite otorgar permisos de acceso completo al buzón de correo para la aplicación o servicio configurado. Comando PowerShell Ejecutar el siguiente comando desde PowerShell: Add-MailboxPermission `  -Identity "usuario@dominio.com" `  -User OBJECT_ID `  -AccessRights FullAccess Add-MailboxPermission ` -Identity "usuario@dominio.com" ` -User OBJECT_ID ` -AccessRights FullAccess ¿Qué se debe validar? ServiceId Validar que el: ServiceId sea exactamente igual al: Object ID ubicado en: Enterprise Applications ⚠️ Importante: No utilizar el Object ID del: App Registration Debe utilizarse el valor mostrado en: Enterprise Application AppId Validar que el: AppId sea igual al: Application ID mostrado en: Enterprise Application Validaciones Importantes Validación del ServiceId Verificar que el: ServiceId sea exactamente igual al: Object ID mostrado en: Enterprise Applications ⚠️ Importante: No utilizar el valor del: App Registration Debe utilizarse el Object ID mostrado específicamente en: Enterprise Application Validación del AppId Confirmar que el: AppId sea igual al: Application ID mostrado en: Enterprise Application Validación de Conexión IMAP Se recomienda validar la conexión utilizando flujo interactivo OAuth2. Herramienta de referencia: Herramienta IMAP OAuth2 Office365 - Limilabs Esta validación confirma: Acceso IMAP habilitado OAuth2 funcionando correctamente Permisos correctos Acceso válido al buzón Validación de Permisos API Confirmar que: Los permisos API fueron agregados correctamente. Se otorgó: Admin Consent ⚠️ Aunque los permisos estén agregados, sin el consentimiento administrativo la autenticación puede fallar. Errores Comunes Client ID / Tenant ID / Secret Incorrectos Uno de los errores más frecuentes ocurre por: Client ID incorrecto Tenant ID incorrecto Client Secret inválido Espacios adicionales al copiar información Recomendación Validar cuidadosamente: Que no existan espacios al inicio o final. Que el Tenant corresponda a la compañía correcta. Que el Secret siga vigente. Tiempo de Aplicación de Cambios ⚠️ Importante: Los cambios realizados en Azure / Entra ID pueden tardar entre: 20 y 30 minutos en aplicarse completamente. Durante este tiempo pueden aparecer: errores de autenticación, fallos de conexión, o permisos no reflejados. Esto es un comportamiento normal de sincronización de Microsoft 365.   Nota importante sobre errores comunes:  • Tenant ID incorrecto. • Client Secret expirado. • Permisos API incompletos. • Configuración realizada desde Aplicaciones Empresariales en lugar de Registro de aplicaciones. • Correos que no procesan por falta de permisos. Configuración Valor Servidor IMAP outlook.office365.com Puerto IMAP 993 Seguridad SSL/TLS Recomendaciones: Guardar capturas de pantalla de la configuración y documentar los valores de Client ID, Tenant ID y Client Secret en un lugar seguro.