Impossible de s'authentifier en IMAP sur Office 365 avec JavaMail

Impossible de s’authentifier en IMAP sur Office 365 avec JavaMail


Source : Stack Overflow [office365]

Mon grain de sel sur ce sujet : si vous rencontrez toujours un échec d’authentification depuis JavaMail en essayant de vous connecter à une boîte aux lettres pour lire les e-mails, assurez-vous avant tout que l’application configurée dans Azure Active Directory dispose des permissions ci-dessous.

IMAP.AccessAsApp

Mail.Read

Mail.Send (pour l’envoi)

Deuxièmement, créez le principal de service avec l’identifiant d’application d’entreprise comme mentionné dans la publication originale.
Une fois fait, vérifiez ici si votre jeton généré contient tous les rôles que vous avez assignés.

Même si vous avez assigné les rôles nécessaires et que vous pouvez vous connecter à la boîte aux lettres via PowerShell, vous pourriez toujours obtenir AUTHENTICATE failed depuis JavaMail parce que vous pourriez utiliser cette propriété (mail.imap.auth.mechanisms) incorrectement. Remplacez mail.imap par mail.imaps et cela devrait résoudre le problème.

"mail.imaps.auth.mechanisms"="XOAUTH2"
"mail.imap.host"="outlookoffice365.com"
"mail.smtp.port"=993
"mail.store.protocol"="imaps"

session.getStore("imaps")
store.connect(host,port,user,token)

Bonne chance !