我尝试使用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))
代码工作正常,它正在下载附件。问题是邮件中的所有附件都以相同的名称关闭,因此在上面的代码中我添加了一个计数并附加了它。但是将来要找到合适的文件会很困难。
注意: - 我曾经每天收到邮件
有人可以指导我如何获取电子邮件的日期,以便我将其附加到文件名而不是计数。
答案 0 :(得分:1)
我们可以使用
获取电子邮件的日期msg ['日期']