我正在使用imaplib和Python來獲取我的收件箱或GMail標籤的內容。Python GMail IMAP不返回UID
我的問題是:當我查詢收件箱時,imaplib返回UID,但不是我的電子郵件標籤。
如果我查詢收件箱中,我得到的UID:
inbox EMAIL_UIDS: 24408 24599 25193 25224 25237 25406 25411 25412 25413 25415
但是,如果我詢問我的標籤「新建」(其中包含兩個在收件箱中的郵件,因此應包含兩個以上的UID) ,我只得到了有序索引:
New EMAIL_UIDS: 1 2
我的代碼是:
#Main file
if folder_name is None:
email_uids = obtain_inbox_email_uids(mail)
else:
email_uids = obtain_folder_email_uids(folder_name,mail)
email_uids = list(email_uids)
和:
#Email utilities file
def obtain_folder_email_uids(folder_name, mail):
"""
Given an IMAP instance,
return the UIDs of the emails in a specific folder.
"""
mail.select(folder_name)
result, data = mail.uid('search', None, "ALL")
print "RESULT, DATA",result,data
email_uids = data[0]
print folder_name,"EMAIL_UIDS:",email_uids
email_uids = email_uids.split(" ")
email_uids = reversed(email_uids)
return email_uids
def obtain_inbox_email_uids(mail):
"""
Given an IMAP instance,
return the UIDs of the inbox emails.
"""
return obtain_folder_email_uids('inbox', mail)
有沒有人知道爲什麼imaplib會爲收件箱返回UID但爲特定標籤訂購索引,以及如何獲取它以返回UID?
謝謝
我知道對不對?爲什麼在整個賬戶中UID不是唯一的? – Xeoncross