Microsoft Outlook Crear regla Ejecutar aplicación / Script Python

He creado un script shutdown.py que apaga mi computadora cuando se ejecuta. También he creado una regla en Microsoft Outlook que ejecuta mi script Python cuando recibo un correo electrónico que tiene% BLAHBLAHBLAH% en el asunto. Lo he probado y funciona perfectamente; sin embargo, mi pregunta para todos ustedes es: ¿es posible pasar la línea de asunto del correo electrónico al script de Python antes de ejecutarlo? Básicamente, quiero tener una palabra clave en la línea de asunto que ejecute cierto script, pero que también pueda “pasar” parámetros a la línea de asunto del correo electrónico que luego usará el script de Python. Por ejemplo, si envié% shutdown30% mi script de Python podría analizar la cadena% shutdown30% y usar el 30 como parámetro para apagar la computadora en 30 minutos.

Gracias de antemano por cualquier consejo / comentarios / sugerencias / respuestas 🙂

¿Por qué crear una regla en Outlook que ejecute un script si se recibe un correo electrónico, cuando simplemente puede hacerlo todo desde Python?

El uso de Python para monitorear la perspectiva de todos los correos electrónicos entrantes y luego ejecutar algún código si se recibe un correo electrónico, con% BLAHBLAH% en el asunto, es posible. Aquí hay un ejemplo:

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 try: # Taking all the "BLAHBLAH" which is enclosed by two "%". 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()