【2021】解决使用imap类库收取163邮箱邮件时,提示:command SEARCH illegal in state AUTH, only allowed in states SELECTED

本文针对一个同学提出的解决方法,在此基础上使用Python imaplib类库原生方法进行一个方法优化。原文链接
建议先去查看原文,再往下看,直接放出源码。

# 连接到服务器
self.conn = imaplib.IMAP4_SSL(conf['imap_server'], conf['imap_ssl_port'])
self.conn.login(conf['imap_user'], conf['imap_pwd'])
imap_id = ("name", "你的名字。", "version", "软件版本", "vendor", "厂家")
# xatom方法为imaplib原生的提供调用自定义命令的方法
# https://docs.python.org/zh-cn/3.5/library/imaplib.html#imaplib.IMAP4.xatom
typ, data = self.conn.xatom('ID', '("' + '" "'.join(imap_id) + '")')
print('typ', typ, 'data', data)
# 选中哪个收件箱,默认为inbox
result, message = self.conn.select()

你可能感兴趣的:(Linux,python,imap,php)