当前位置: 首页 > 面试题库 >

Microsoft Outlook创建规则运行应用程序/脚本Python

凌运恒
2023-03-14
问题内容

我创建了一个shutdown.py脚本,该脚本在执行时将关闭计算机。我还在Microsoft
Outlook中创建了一条规则,当我收到主题中包含%BLAHBLAHBLAH%的电子邮件时,该规则将执行我的Python脚本。我已经对其进行了测试,并且可以完美地工作。但是,我对所有人的问题是:是否可以在执行电子邮件之前将电子邮件的主题行传递给Python脚本?基本上,我希望在主题行中有一个关键字,该关键字将执行某个脚本,但也能够将参数“传递”到Python脚本随后将使用的电子邮件主题行中。例如,如果我发送%shutdown30%,我的python脚本将能够解析字符串%shutdown30%,并使用30作为参数在30分钟内关闭计算机。

预先感谢您的任何建议/评论/建议/答案:)


问题答案:

如果您可以简单地从python完成所有操作,为什么要在Outlook中创建运行脚本的规则(如果收到电子邮件)。

使用Python监视所有传入电子邮件的外观,然后执行某些代码(如果可以接收到主题为%BLAHBLAH%的电子邮件)。这是一个例子:

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()


 类似资料:
  • 我正在开发一个GoogleApps脚本电子表格应用程序,我希望该程序具备的能力之一是根据来自两个不同列的数据自动排序一系列表单响应。所以我想按第16列中的数据排序,然后按第1列排序。我可以使用以下方法手动实现此功能:https://drive.googleblog.com/2010/06/tips-tricks-advanced-sorting-rules-in.html 目前我正在运行函数与第一

  • 我有一个打包成WAR文件的Spring Boot web应用程序,我希望能够按需运行一些任务(脚本或命令)。例如: 初始化数据库模式 以编程方式为数据库设定种子 新版本应用程序(移动文件、数据库操作等)需要时进行数据迁移 验证存储文件和数据库内容之间的数据完整性 如果这些“命令”可以访问与Web应用程序本身相同的bean(服务,DAO)和模型,则实现起来会容易得多。我希望我必须在某个地方创建一个S

  • 我正在尝试运行,但它似乎没有按应有的方式工作。我正在尝试以下命令: 创建react应用程序我的应用程序 cd我的应用程序 npm启动 如果您可以帮助此处输入图像描述,那么在尝试运行时会出现以下错误

  • 问题内容: 我使用 hsqldb 运行需要数据库访问权限的单元测试。 目前,当我想为特定测试创建表时,我具有以下代码: 该方法检索在上下文中定义的DataSource : 现在,我想从一个SQL脚本创建表(当然,此脚本将包含多个表创建): 在HSQLDB文档中,我可以要求他在启动时运行脚本。但是,它不符合我的要求,因为我想在运行时运行脚本。 当然,我可以自己读取文件,并且对于每个SQL语句,我都运

  • 我想使用ApacheJMeter提供的API从Java程序创建和运行测试脚本。我已经了解了ThreadGroup和Samplers的基本知识。我可以使用JMeter API在Java类中创建它们。 然而,我不知道如何创建一个结合线程组和采样器的测试脚本,然后从同一个程序执行它。有什么想法吗?

  • 我使用SpreadSheet中的脚本在活动行下面添加行,并从活动行复制内容。在PC上,我可以通过图像/绘图触发脚本,它工作得很好。但是我不知道如何让它在iOS应用程序中工作,在应用程序中,图像触发不起作用,从一个应用程序复制内容到另一个应用程序是噩梦。我尝试了onEdit和isChecked为每一行,但它会给我新的行在每个编辑。你能帮忙吗? https://docs.google.com/spre