imaplib
原生并不支持 IDLE
命令,这可能导致 AttributeError: Unknown IMAP4 command: 'idle'
错误。解决办法是使用支持 IDLE
命令的库,例如 imapclient
,或者通过扩展 imaplib
的方式实现。
以下是两种解决方案:
方法 1:使用 imapclient
imapclient
是一个高级封装库,支持 IDLE
命令且更易用。
安装 imapclient
pip install imapclient
实现代码
from imapclient import IMAPClient
import time
def getEmailData():
# 定义你的邮件处理逻辑
print("New email received!")
def monitor_inbox():
conf = load_config()
access_token = getAccessToken(conf['client_id'], conf['authority'], conf['scope'], conf['username'], conf['password'])
with IMAPClient(host="outlook.offic