Python - Получить дату и время писем - Gmail - PullRequest
0 голосов
/ 05 мая 2018

Я пытался загрузить вложения из Gmail, используя python для определенного ключевого слова, а код указан ниже,

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))

Код работает нормально, и он загружал вложение. Проблема в том, что все вложения в письмах отключены на одно и то же имя, поэтому в приведенном выше коде я добавил счетчик и добавил его. Но в будущем будет так сложно найти нужный файл.

Примечание: - Раньше я получал почту ежедневно

Может кто-нибудь подсказать мне, как получить дату электронного письма, чтобы я добавил его к имени файла, а не к счету.

1 Ответ

0 голосов
/ 05 мая 2018

Мы можем получить дату по электронной почте, используя

msg ['Date']

...