Cómo monitorear continuamente un nuevo correo en Outlook y correos no leídos de una carpeta específica en Python
Quiero verificar el correo electrónico de un remitente en particular y procesarlo automáticamente donde sea que llegue
Sin embargo, puede haber alguna situación en la que se reinició mi perspectiva, es decir, mientras recibía el correo del remitente y estaba marcado como no leído
Para el monitoreo continuo de un nuevo correo para un asunto específico, he encontrado el siguiente código
import win32com.client
import pythoncom
import re
class Handler_Class(object):
def OnNewMailEx(self, receivedItemsIDs):
# RecrivedItemIDs is a collection of mail IDs separated by a ",".
# You know, sometimes more than 1 mail is received at the same moment.
for ID in receivedItemsIDs.split(","):
mail = outlook.Session.GetItemFromID(ID)
subject = mail.Subject
print subject
try:
command = re.search(r"%(.*?)%", subject).group(1)
print command # Or whatever code you wish to execute.
except:
pass
outlook = win32com.client.DispatchWithEvents("Outlook.Application",Handler_Class)
#and then an infinit loop that waits from events.
pythoncom.PumpMessages()
Incluso quiero revisar todos los correos no leídos para verificar si ha llegado un correo de un remitente y procesarlo (si se encuentra)
¿Hay alguna función para verificar si hay correos no leídos para agregar dentro de handler_class?
O hágamelo saber para cualquier procedimiento alternativo