首页 > 解决方案 > Python - 获取邮件的日期时间 - Gmail

问题描述

我试图使用 python 为特定关键字从 Gmail 下载附件,代码如下,

def read_email_from_gmail():
mail = imaplib.IMAP4_SSL(imap_url)
mail.login(user, password)
mail.select('"[Gmail]/All Mail"')
print("Login into Mailbox")
result, data = mail.search(None, '(SUBJECT "Contract note")')
count = 0
for num in data[0].split():
    result, data = mail.fetch(num, "(RFC822)")
    raw_email_string = data[0][1].decode('utf-8')
    msg = email.message_from_string(raw_email_string)
    for part in msg.walk():
        if part.get_content_type() == "text/plain":
            print(part.get_payload(decode=True))

        if part.get_content_maintype() == 'multipart':
            continue
        if part.get('Content-Disposition') is None:
            continue
        fileName = part.get_filename()
        print(part.get_)
        fileName = fileName+str(count)+str('.pdf')
        count = count + 1
        if bool(fileName):
            filePath = os.path.join(attachment_dir, fileName)
            with open(filePath, 'wb') as e:
                e.write(part.get_payload(decode=True))

代码工作正常,它正在下载附件。问题是邮件中的所有附件都以相同的名称关闭,因此在上面的代码中我添加了一个计数并附加了它。但是将来要找到正确的文件将非常困难。

注意:- 我以前每天都会收到邮件

有人可以指导我如何获取电子邮件的日期,以便我将其附加到文件名而不是计数。

标签: pythongmailimaplib

解决方案


我们可以使用获取电子邮件的日期

味精['日期']


推荐阅读