Ошибка Outlook javamail «ПЛОХОЙ пользователь A3 аутентифицирован, но не подключен»

#java #outlook #jakarta-mail

#java #outlook #джакарта-почта

Вопрос:

я пытаюсь открыть папку в своем электронном письме, но безуспешно.

это ошибка:

 Mar 06, 2019 1:24:14 PM Export run
SEVERE: A3 BAD User is authenticated but not connected.
javax.mail.MessagingException: A3 BAD User is authenticated but not connected.;
  nested exception is:
    com.sun.mail.iap.BadCommandException: A3 BAD User is authenticated but not connected.
    at com.sun.mail.imap.IMAPFolder.open(IMAPFolder.java:960)
    at Export.getEmails(Export.java:115)
    at Export.run(Export.java:72)
    at Main.main(Main.java:5)
Caused by: com.sun.mail.iap.BadCommandException: A3 BAD User is authenticated but not connected.
    at com.sun.mail.iap.Protocol.handleResult(Protocol.java:338)
    at com.sun.mail.imap.protocol.IMAPProtocol.select(IMAPProtocol.java:656)
    at com.sun.mail.imap.IMAPFolder.open(IMAPFolder.java:926)
    ... 3 more
  

и это то, что я пытался:

 public void getEmails() throws MessagingException, IOException {
    Session session = Session.getInstance(props);
    session.setDebug(DEBUG);

    store = null;
    store = session.getStore("imap");

    store.connect("imap-mail.outlook.com", this.userName, this.password);
    folder = store.getFolder(FOLDER_NAME);
    folder.open(Folder.READ_ONLY);
    int total_messages = folder.getMessageCount();
    if(total_messages > 0) {
        messages = folder.getMessages();
    }
}
  

это реквизит:

 props = new Properties();        
props.setProperty("mail.store.protocol", "imap");
props.setProperty("mail.imap.ssl.enable", "true");  
props.setProperty("mail.imap.starttls.enable", "true");    
props.setProperty("mail.imap.host", "imap-mail.outlook.com");
props.setProperty("mail.imap.port", "993");   
  

имя пользователя и пароль в порядке.
Я попытался сменить пароль, и я получил другую ошибку с аутентификацией, поэтому пароль и имя пользователя верны.

я проверяю store.isConnected и получаю true. проблема в строке:

 folder.open(Folder.READ_ONLY);
  

в чем может быть проблема?

tnx много

Комментарии:

1. Это очень странно. Похоже, что сервер по какой-то причине недоволен. Вероятно, вам потребуется связаться outlook.com обратитесь в службу поддержки, чтобы выяснить, что означает сообщение об ошибке.

2. для этого нет объяснения?

3. Вы говорите мне. Что сделало outlook.com служба поддержки сообщила, когда вы связались с ними?

Ответ №1:

Моему недавно созданному почтовому ящику потребовалось много времени, чтобы зарегистрировать все его конфигурации на O365, и для меня, по крайней мере, это выглядело как проблема с синхронизацией, надеюсь, другие найдут это полезным.

Ответ №2:

Я столкнулся с этой ошибкой с imap и outlook.office365.com. Я попытался настроить ту же учетную запись в Outlook, чтобы убедиться, что она работает в целом. Хотя я смог добавить учетную запись, когда я действительно попытался просмотреть входящие, Outlook перестал отвечать. Итак, в моем случае это была проблема с учетной записью в целом, а не с тем, как я пытался подключиться. Я смог успешно попасть в папку «Входящие» с помощью pop3, проблема была только в imap, который вызвал у меня проблему.

Ответ №3:

Exchange и Office365 будут принимать подключения по протоколу IMAP и проверять подлинность пользователей на них, даже если у пользователя нет прав доступа по протоколу IMAP. Ошибка возникает только при выполнении первой команды IMAP после успешной аутентификации, когда выдается ошибка:

User is authenticated but not connected

Чтобы исправить это, отредактируйте разрешения пользователя и убедитесь, что разрешен IMAP.

Ответ №4:

Лучше поздно, чем никогда. У меня возникла та же проблема при переходе с базовой аутентификации IMAP на XOAUTH2 (OAuth 2.0), поскольку MS деактивирует базовую аутентификацию в любую минуту (октябрь 2022)

В моем случае пользователю были предоставлены разрешения IMAP с помощью Powershell:

 Add-MailboxPermission -Identity "xxx@yyy.com" -User A92BE11B-ED50-4A1C-909F-52D12BE169E3 -AccessRights FullAccess
  

НО xxx@yyy.com это был псевдоним реального пользователя zzz@yyy.com , и я пытался войти с zzz@yyy.com

Оба следующих решения сработали:

  1. Войдите в систему под псевдонимом пользователя xxx@yyy.com (тот же пароль, что и у реального пользователя)
  2. Предоставьте реальному пользователю разрешения IMAP:
 Add-MailboxPermission -Identity "zzz@yyy.com" -User A92BE11B-ED50-4A1C-909F-52D12BE169E3 -AccessRights FullAccess
  

Ответ №5:

В моем случае имя пользователя для входа (email) учитывало регистр. Итак User@domain.com не является user@domain.com и получал эту ошибку вместо ошибки user not found.