JavaMail - AuthenticationFailedException при чтении почты Outlook - PullRequest
0 голосов
/ 01 февраля 2020

Я использую приведенный ниже код для чтения электронной почты outlook, используя Java mail 1.6.2

          Properties props = new Properties();        
          props.setProperty("mail.imap.ssl.enable", "true");     
          Session mailSession = Session.getInstance(props); 
          mailSession.setDebug(true);
          Store mailStore = mailSession.getStore("imap");
          mailStore.connect("outlook.office365.com", "abc@company.com", "password");

Однако я получаю ошибку ниже, даже если учетные данные для входа правильные. Пожалуйста, найдите журналы ниже:

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 "outlook.office365.com", port 993, isSSL true
* OK The Microsoft Exchange IMAP4 service is ready. [TQBBADEAsomeText]
A0 CAPABILITY
* CAPABILITY IMAP4 IMAP4rev1 AUTH=PLAIN AUTH=XOAUTH2 SASL-IR UIDPLUS ID UNSELECT CHILDREN IDLE NAMESPACE LITERAL+
A0 OK CAPABILITY completed.
DEBUG IMAP: AUTH: PLAIN
DEBUG IMAP: AUTH: XOAUTH2
DEBUG IMAP: protocolConnect login, host=outlook.office365.com, user=abc@company.com, password=<non-null>
DEBUG IMAP: AUTHENTICATE PLAIN command trace suppressed
DEBUG IMAP: AUTHENTICATE PLAIN 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)

Есть идеи, в чем может быть причина?

1 Ответ

0 голосов
/ 04 февраля 2020

Проблема была не в том хосте! заменил outlook.office365.com (imap-mail.outlook.com) на компанию, указав хост c, и это сработало!

mailStore.connect("mail.ad.company.com", "abc@company.com", "password"); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...