QQ IMAP服务器不支持AUTHENTICATE命令

Properties props = new Properties();
props.setProperty(MAIL_STORE_PROTOCOL, "imap");
props.setProperty(MAIL_HOST, "imap.qq.com");
props.setProperty(MAIL_USER, user);
props.setProperty(MAIL_PASSWORD, password);


使用以上Propertis连接QQ的IMAP服务器时,会抛出BadCommandException: A0 BAD 命令无效或者不支持

session.setDebug(true);


开启Debug后,发现异常发生在”A0 AUTHENTICATE LOGIN”这条命令,
也就是说QQ的IMAP服务器是不支持AUTHENTICATE的。
这是比较罕见的,因为AUTHENTICATE是标准IMAP协议里的一条命令,用于加密传输用户名和密码的
如果不支持的话,就只能使用明文发送用户名和密码了

以下是解决代码:
props.setProperty("mail.imap.auth.login.disable", "true");


这样再去连接QQ的IMAP服务器,就可以正常登陆了
返回结果如下:
A0 OK Success login ok

你可能感兴趣的:(map)