我想在我的电子邮件帐户中设置一个邮件标记“已查看”。
我如何在 python 中设置“Seen”标志。
你有什么主意吗?
import imaplib
emailConnection = imaplib.IMAP4_SSL()
emailConnection.login(id, password)
emailConnection.select(configData['email_input_folder'])
result, data = emailConnection.uid('SEARCH', None, '(UNSEEN)')
uids = data[0].split()
for uid in uids:
result, data = emailConnection.uid('fetch', uid, '(RFC822)')
# ------ data is manufactured.
result = emailConnection.store(uid, '+FLAGS', '\\Seen') # << Occured Exception
在我的错误消息中是这样打印的。
[DEBUG|imap.py:81]2017-02-24 21:43:57,921 > STORE command error: BAD [b'Error in IMAP command STORE: Invalid messageset']
最佳答案
您正在混合 UID 和序列集。
如果您使用 UID SEARCH
和 UID FETCH
, 你需要使用 UID STORE
:
result = emailConnection.uid("STORE", uid, '+FLAGS', '\\Seen')
关于python-3.x - 在 Python 3.4.3 中,如何使用 IMAP 协议(protocol)发送标志 'Seen',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42439401/