当您使用IMAP协议接收邮件时候,为了用户账号信息安全,系统要求您的客户端表明相关“身份”信息才可以允许连接。
否则将会返回如下报错:Unsafe Login. Please contact kefu@188.com for help
同时邮箱内将收到相关提醒邮件,如下图所示:
常用客户端例如:Outlook,foxmail,邮箱大师不会出现该类问题。
如果您所使用的客户端因为该限制导致无法接收。请您联系软件开发人员更新相关源代码,在连接服务器时带上IMAP ID信息,相关JAVA示例代码如下:(其他语言或框架请联系对应开发者处理,网易仅提供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
//带上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);
********************代码块区域结束********************
相关规范链接请参考:
https://www.ietf.org/rfc/rfc2971.txt
https://javaee.github.io/javamail/docs/api/index.html?com/sun/mail/imap/IMAPStore.html
(请使用JavaMail 1.5.1及更新的版本)