Я пытался загрузить вложения из 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))
Код работает нормально, и он загружал вложение. Проблема в том, что все вложения в письмах отключены на одно и то же имя, поэтому в приведенном выше коде я добавил счетчик и добавил его. Но в будущем будет так сложно найти нужный файл.
Примечание: - Раньше я получал почту ежедневно
Может кто-нибудь подсказать мне, как получить дату электронного письма, чтобы я добавил его к имени файла, а не к счету.