基于node的imap接受163邮箱报错的解决办法
2025-11-03 10:23:31
NO SELECT Unsafe Login Please contact kefu@188.com for help 、node imap 、163
16254
在使用163邮箱开发,获取邮箱右键内容时,提示:xm002 NO SELECT Unsafe Login. Please contact kefu@188.com for help。
如果未登录邮箱进行授权第三方登录权限的话,会受到一封阻止邮件。
imap连接提示Unsafe Login,被阻止的收信行为。
但是网络给的解决方法2014年就在用而且已经过时了。
正确的添加id的方法只有java代码的。示例在这
那么node imap需要接受163邮箱怎么办呢?
imap是基于RFC 2971 协议,我们可以从中看出是需要一个id的信息。
ID ("name" "sodr" "version" "19.34" "vendor" "Pink Floyd Music Limited")
所以在node imap源码中 我们需要在发送user和password之后接着发送一个id的字符串就可以正常接收邮件了
下面是我们基于imap优化的一个模块,可以使用npm安装它
npm i imap-mkl
之后的使用方式和以前一样,163邮箱需要注意的是新增了一个id字段
var imap = new Imap({
user: 'mygmailname@163.com',
password: 'mygmailpassword',
host: 'imap.163.com',
id:{
name: 'myemail',
version: '1.0.0',
vendor: "myclient",
"support-email": config.user,
},
port: 993,
tls: true
});
