Como monitorar continuamente um novo email no Outlook e emails não lidos de uma pasta específica em python
Quero verificar um email de remetente específico e processá-lo automaticamente onde quer que ele chegue
No entanto, pode haver alguma situação em que minha perspectiva foi reiniciada, enquanto recebi e-mails do remetente e marcados como não lidos
Para monitor contínuo de uma nova correspondência para um assunto específico, encontrei o seguinte 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()
Mesmo eu quero passar por todos os e-mails não lidos para verificar se um e-mail de um remetente chegou e processá-lo (se encontrado)
Existe alguma função para verificar se há e-mails não lidos para adicionar em handler_class
Ou avise-me sobre qualquer procedimento alternativo