我正在尝试使用 IMAP 协议从交换服务器读取邮件。我已经实现了代码。但是执行代码时出现以下异常。此异常偶尔发生,我不明白发生这种情况的原因。
javax.mail.MessagingException:A3 BAD 用户已通过身份验证但未连接。;嵌套异常是: com.sun.mail.iap.BadCommandException:A3 BAD 用户已通过身份验证但未连接。在com.sun.mail.imap.IMAPFolder.open(IMAPFolder.java:958)在agent.client.attributeGroups.SendReceive.readMailAndReply(SendReceive.java:115)在agent.client.attributeGroups.MailQueue.calculateTime(MailQueue.java) :45)在agent.client.MainClass $ 1.run(MainClass.java:72)在java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:471)在java.util.concurrent.FutureTask.runAndReset(FutureTask) .java:304) 在 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178) 在 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) 在 java.util.concurrent .ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 在 java.lang.Thread.run(Thread.java:745)
代码:
Properties props = new Properties();
props.put("mail.imap.auth", "true");
props.put("mail.imap.ssl.enable", "true");
props.put("mail.imap.host", "outlook.office365.com");
props.put("mail.imap.port", "993");
props.put("mail.transport.protocol", "imap");
props.put("mail.imap.auth.plain.disable", true);
props.put("mail.imap.auth.ntlm.disable", true);
props.put("mail.imap.auth.gssapi.disable", true);
//Get session object by passing credentials.
Session session = Session.getDefaultInstance(props,
new javax.mail.Authenticator(){
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(
mailId, mailPass);}});
//Creating IMAP store and connecting it to Mailbox using credentials.
store …Run Code Online (Sandbox Code Playgroud)