1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
for self.i in tqdm(range(latest_email_id, oldest_email_id -1 , -1)):
#x = mail[i-1]
status = ""
xdeleted = False
typ, x = self.m.fetch(str(self.i), '(RFC822)')
raw_email = x[0][1]
raw_email_string = raw_email.decode()
email_message = email.message_from_string(raw_email_string)
for response_part in x:
if isinstance(response_part, tuple):
msg = email.message_from_string(response_part[1].decode())
#print(x.senton.date())
#sentondate = pd.to_datetime(x.senton.date())
senderemail = msg['from']
subject = msg['subject'].replace("\n","").replace("\r","")
subject, encoding = email.header.decode_header(subject)[0]
if (encoding == None):
subject = subject
else:
subject = subject.decode(encoding)
print("subject:", subject)
attachmentsfilenamesconcat = ""
attachments = []
for part in email_message.walk():
if part.get_content_maintype() == 'multipart':
continue
if part.get('Content-Disposition') is None:
continue
print("HEREHEHE")
fileName, encoding = decode_header(str(part.get_filename()))[0]
if (encoding is None):
fileName = fileName.replace("\r","").replace("\n","")
else:
fileName = fileName.decode(encoding).replace("\r","").replace("\n","")
print("ATTACHMENT FILENAME:", fileName)
attachments.append(fileName)
if bool(fileName):
fnwoext, file_extension = os.path.splitext(os.path.join(self.DIR_ATT, fileName))
if ((file_extension.lower() == ".csv") | (file_extension.lower() == ".xls") | (
file_extension.lower() == ".xlsx") \
| (file_extension.lower() == ".xlsm") | (file_extension.lower() == ".pdf") | (
file_extension.lower() == ".zip") \
| (file_extension.lower() == ".txt")):
print(os.path.join(self.DIR_ATT, fileName))
filePath = os.path.join(self.DIR_ATT,fileName)
fp = open(filePath, 'wb')
fp.write(part.get_payload(decode = True))
fp.close()
attachmentsfilenamesconcat += fileName + " " |
Partager