网易163邮箱javax.mail.MessagingException: B3 NO EXAMINE Unsafe Login,实际可用

使用IMAP协议开发网易邮箱接收邮件时会出现以下报错:

javax.mail.MessagingException: B3 NO EXAMINE Unsafe Login. Please contact kefu@188.com for help;\n  nested exception is:\n\tcom.sun.mail.iap.CommandFailedException: B3 NO EXAMINE Unsafe Login. Please contact kefu@188.com for help

百度了大多数答案,都是改设置,均不靠谱,最后自己找到了解决方法:连接服务器时带上IMAP ID信息。相关Java代码如下:

Properties props = new Properties(); 
props.setProperty("mail.store.protocol", "imap"); 
props.setProperty("mail.imap.host", "imap.163.com"); 
props.setProperty("mail.imap.port", "143"); 

HashMap IAM = new HashMap();
//带上IMAP ID信息,由key和value组成,例如name,version,vendor,support-email等。
IAM.put("name","myname");      
IAM.put("version","1.0.0");      
IAM.put("vendor","myclient");      
IAM.put("support-email","testmail@test.com");  
Session session = Session.getInstance(props); 

IMAPStore store = (IMAPStore) session.getStore("imap");
//下方替换对应帐号和授权码
store.connect("testmail@163.com", "password"); 

store.id(IAM);

完整代码可参考这篇文章,还介绍了如何监听接收邮件:IMAP协议定时监听接收邮件(QQ邮箱、网易邮箱都可)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值