经过在网上各种资料查询邮报错原因是发送请求时没有包含imap id,
对于我程序所使用的python imapcilent
库来说,在login
之后select
文件夹之前使用文档中所述的id_
方法向服务器发送ID
命令客户端信息即可
虽然没有什么卵用!
下面是解决办法
# 创建IMAP连接并提供IMAP ID信息
imap_conn = imaplib.IMAP4_SSL(imap_server, imap_port)
# # 登录到邮箱
imap_conn.login(email_address, email_password)
# 上传客户端身份信息
args = ("name", "XXXX", "contact", "XXXX@163.com", "version", "1.0.0", "vendor", "myclient")
typ, dat = imap_conn._simple_command('ID', '("' + '" "'.join(args) + '")')
print(imap_conn._untagged_response(typ, dat, 'ID'))
# 选择邮箱文件夹(例如,收件箱)
folder_name = 'INBOX' # 使用正确的文件夹名称
imap_conn.select(folder_name)
然后就可以运行下去了,不会报
Unsafe Login. Please contact kefu@188.com for help
这个问题了