天天看點

【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()