Conectar el servidor de correo de Microsoft 365
Cuando se conecta al servidor de correo de Microsoft 365, es obligatorio utilizar el esquema de autenticación OAuth v2.0 a través de SMTP. LogicalDOC utiliza el client flow para obtener el token OAuth.
Registrar LogicalDOC como aplicación en el Portal de Azure
Abra su Portal de Azure, aquí en la sección Services, abra el App registrations. Haga clic en New registration e ingrese LogicalDOC como nombre de la nueva aplicación.
Ahora que la aplicación se ha registrado, ingrese el API permissions para proporcionar los siguientes permisos:
Microsoft Graph
----------------------------------
Mail.Read
Mail.ReadBasic
Mail.ReadBasic.All
Mail.ReadWrite
Mail.Send
SMTP.Send
User.Read
Office 365 Exchange Online
----------------------------------
full_access_as_App
IMAP.AccessAsApp
Mail.Read
Mail.Send
Mail.Send.All
SMTP.SendAsApp
Conceder consentimiento de administrador
Asegúrese de otorgar el consentimiento del administrador para todos los permisos de la aplicación.
Crear la entidad de servicio en Exchange Online
Una vez que se haya otorgado el consentimiento, el administrador debe registrar la entidad de servicio de su aplicación en Exchange mediante Power Shell.
Abra Power Shell e instale el módulo ExchangeOnlineManagement con estos comandos:
Install-Module -Name AzureAD -SkipPublisherCheck
Import-Module AzureAD
Install-Module -Name ExchangeOnlineManagement -SkipPublisherCheck
Import-Module ExchangeOnlineManagement
Ahora registre la entidad de servicio en Exchange con estos otros comandos:
Connect-AzureAD
Connect-ExchangeOnline
New-ServicePrincipal -AppId {Application ID} -ObjectId {Object ID}
Asegúrese de reemplazar el {Application ID} y el {Object ID} con esos códigos de Enterprise applications en lugar del object id de App registration.
Para la misma aplicación que registraste en App registration, también se ha creado una aplicación correspondiente en Enterprise applications. Debe pasar la object id desde allí al registrar la entidad de servicio en Exchange:
Obtenga el ID del principal con este comando:
Get-ServicePrincipal | fl
Agregue permisos completos al correo que usa para conectarse con este comando:
Add-MailboxPermission -Identity {your email} -User {principal id} -AccessRights FullAccess
Habilite el SMTP con este comando:
Set-CASMailbox -Identity {your email} -SmtpClientAuthenticationDisabled $false
Generar un client secret
Para permitir que LogicalDOC se conecte a su Microsoft 365, se debe generar client secret; para hacerlo, abra los detalles de su aplicación recién registrada.
Aquí, haga clic en el enlace Client credentials y genere su secret.
Guardar el secret
Asegúrese de guardar el secret en un lugar seguro porque solo está visible ahora y ya no podrá obtenerlo en el futuro desde el Portal de Azure.
Configurar LogicalDOC
- Ingrese en Administración > Ajustes > Correo Electrónico Saliente
- En el campo Protocolo coloque: SMTP Microsoft 365
- Habilite la opción Usar autenticación segura
- En el campo Servidor coloque: smtp.office365.com
- En el campo Puerto coloque: 587
- En Nombre usuario y Email remitente coloque el mismo correo que usa para conectarse
- Desactiva la opción Utilizar el correo del usuario como remitente
- En ID Client and ID Tenant coloque los valores de los detalles de la aplicación como se ve en el portal de Azure
-
En el campo Client Secret coloque el secret que previamente guardaste
Guarde y pruebe la conexión.
Utilizar el correo del usuario como remitente
La configuración descrita en esta página hace que LogicalDOC envíe todos los correos electrónicos como el mismo usuario que se conecta a Exchange Online. Si desea que LogicalDOC envíe los correos electrónicos en nombre de los otros usuarios (por ejemplo, cuando un usuario envía un mensaje desde la interfaz), habilite la opción Utilizar el correo del usuario como remitente. También debe asignar el permiso Send As a través de Power Shell como se describe en la documentación de Microsoft.