Я искал способ получить последние электронные письма от моей учетной записи hotmail (в частности, ОТ и СООБЩЕНИЕ), используя Python. Похоже, что решения в основном предназначены для gmail, который не работает так, как мне хотелось бы.
Пример 1. Использование примеров Gmail - msg выкладывает много нежелательных данных и пытается получить субъект, от и до возвращает пробелы для каждого.
import imaplib
import email
from email.mime.multipart import MIMEMultipart
mail = imaplib.IMAP4_SSL('outlook.office365.com')
mail.login('myemail@hotmail.com', 'password')
mail.list()
mail.select('inbox')
for i in range(1, 5):
typ, msg_data = mail.fetch(str(i), '(RFC822)')
for response_part in msg_data:
if isinstance(response_part, tuple):
# print(response_part[1])
msg = email.message_from_string(str(response_part[1]))
print(msg)
for header in [ 'subject', 'to', 'from' ]:
print('%-8s: %s' % (header.upper(), msg[header]))
mail.close()
mail.logout()
Пример 2. Получает последнее содержимое электронной почты Outlook, но не может получить больше (например, последние 5)
import imaplib
msrvr = imaplib.IMAP4_SSL('outlook.office365.com', 993)
unm = 'myemail@hotmail.com'
pwd = 'password'
msrvr.login(unm, pwd)
print(str(len(msrvr.select('inbox'))))
stat,cnt = msrvr.select('inbox')
print(str(len(cnt)))
for i in range(0,5):
stat,dta = msrvr.fetch(cnt[i], '(BODY[TEXT])')
print(dta[0][1])
msrvr.close()
msrvr.logout()
Любые мысли о том, как я мог получить последние 5 электронных писем с FROM и MESSAGE?