[英]ImapLib get gmail id mail(python)
對不起我的英語不好。 例如我有這樣的鏈接
https://mail.google.com/mail/u/0/?source=sync&tf=1&view=pt&th=1614fcf57d5cb6ec1&search=all
其中1614fcf57d5cb6ec1
是uuid消息。 通過此鏈接,我可以查看pdf郵件。 對於郵件,我使用imaplib。 我嘗試得到這樣的uuid gmail消息,如下所示:
mail.get('Message-id')
但它會給我這樣的ID: 3CB8978E-60DD-41B1-AA2E-0685219513F3@happyplugs.com
我的問題:我可以使用imaplib獲得ID gmail消息嗎?
UPD:
IMAP_SERVER = 'imap.gmail.com'
IMAP_PORT = '993'
IMAP_USE_SSL = True
def __init__(self):
print("MailBox __init__")
self.user = '123@gmail.com'
self.password = '123'
if IMAP_USE_SSL:
self.imap = imaplib.IMAP4_SSL(IMAP_SERVER, IMAP_PORT)
else:
self.imap = imaplib.IMAP4(IMAP_SERVER, IMAP_PORT)
def __enter__(self):
print("MailBox __enter__")
self.imap.login(self.user, self.password)
return self
def __exit__(self, exc_type, exc_val, exc_tb):
self.imap.close()
self.imap.logout()
def get_google_id():
self.imap.select('Inbox')
status, response = self.imap.search(None, 'ALL')
if status == 'OK':
items = response[0].split()
for email_id in reversed(items):
status, response = self.imap.fetch(email_id, "(RFC822)")
if status == 'OK':
email_body = response[0][1]
mail = email.message_from_bytes(email_body)
id_mess = mail.get('Message-id') //this give me not gmail mail id
imaplib
具有一組單獨的函數,可對IMAP UID進行操作。
status, response = self.imap.uid('search', None, "ALL")
for uid in reversed(response[0].split()):
status, response = self.imap.uid('fetch, uid, '(RFC822)')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.