简体   繁体   English

如何使用java邮件连接使用多因素身份验证的Outlook邮件服务器?

[英]How to connect outlook mail server which uses Multi factor authentication using java mail?

I'm trying to connect outlook mail through Java Mail API.我正在尝试通过 Java Mail API 连接 Outlook 邮件。 My outlook account is Multi Factor Authenticated (MFA)using ping Identity.我的 Outlook 帐户是使用 ping 身份进行多重身份验证 (MFA) 的。

I can generate a ping Id token as it mentioned here .我可以生成这里提到的 ping Id 令牌。

Now my question is how can pass this token from Java mail Api to connect my outlook account ?现在我的问题是如何从 Java mail Api 传递这个令牌来连接我的 Outlook 帐户?

Debug Result:调试结果:

DEBUG: setDebug: JavaMail version 1.6.2

DEBUG: getProvider() returning

javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Oracle]

DEBUG IMAP: mail.imap.fetchsize: 16384

DEBUG IMAP: mail.imap.ignorebodystructuresize: false

DEBUG IMAP: mail.imap.statuscachetimeout: 1000

DEBUG IMAP: mail.imap.appendbuffersize: -1

DEBUG IMAP: mail.imap.minidletime: 10

DEBUG IMAP: closeFoldersOnStoreFailure

DEBUG IMAP: trying to connect to host "imap-mail.outlook.com", port 993, isSSL true

* OK The Microsoft Exchange IMAP4 service is ready.

[QwBPADIAUABSADAANgBDAEEAMAAwADUAOAAuAG4AYQBtAHAAcgBkADAANgAuAHAAcgBvAGQALgBvAHUAC4AYwBvAG0A]

A0 CAPABILITY
* CAPABILITY IMAP4 IMAP4rev1 AUTH=PLAIN AUTH=XOAUTH2 SASL-IR UIDPLUS MOVE ID UNSELECT CHILDREN IDLE NAMESPACE LITERAL+

A0 OK CAPABILITY completed.

DEBUG IMAP: AUTH: PLAIN

DEBUG IMAP: AUTH: XOAUTH2

DEBUG IMAP: protocolConnect login, host=imap-mail.outlook.com,

user=jeethesh.karkera@compmail.com, password=<non-null>

DEBUG IMAP: AUTHENTICATE XOAUTH2 command trace suppressed

DEBUG IMAP: AUTHENTICATE XOAUTH2 command result: A1 NO AUTHENTICATE failed.

javax.mail.AuthenticationFailedException: AUTHENTICATE failed.

    at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:732)

    at javax.mail.Service.connect(Service.java:366)

    at javax.mail.Service.connect(Service.java:246)

    at com.outlook.outlook.controller.TestController.mailDetails(TestController.java:54)

Instead of auth token use app password for authentication.而不是身份验证令牌使用应用程序密码进行身份验证。 You can generate app password from Outlook - view account -> security.您可以从 Outlook - 查看账户 -> 安全生成应用密码。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM