我想编写一个在收到电子邮件时运行的 Python 脚本。在 Windows 任务计划程序中,我可以设置“发生事件时”的触发器,使用应用程序日志和“Outlook”作为源。但是,我不知道新收到的电子邮件的事件 ID 是什么。我在 Google 上搜索了一段时间,但没有找到任何可能的东西,因为我不知道正确的搜索词。也许有人知道在哪里查找,或者更好的是,直接找到答案?
不确定这是否重要,但我运行的是 64 位 Windows 7 和 Outlook 2010。提前致谢
编辑: 我假设收到电子邮件时会生成一个事件 ID。我要找的是这个 ID(或在哪里可以找到它)。如果不是这种情况,并且没有与收到的电子邮件相对应的单个 ID,那么你们能想到的任何解决方法都很好
编辑:为了避免 XY 问题,这里的目标是找出一种方法,让收到电子邮件时运行 python 脚本。
另一个希望更好的编辑:我正在尝试做两件主要的事情:
我有一个 Python 脚本,它处理整个办公室(约 30 人)使用的表单。此表单向办公室内的各个人员发送电子邮件。如果它不只是盲目地将电子邮件发送到以太网,而是收到反馈,那就太好了。例如确认电子邮件已正确发送,然后阅读。这是目标 1。
目标 2 稍微简单一些。由于我所在行业的出色规定,我们必须为某些项目保留大量记录。这包括电子邮件。因此,我想建立一个需要此类处理的客户/项目列表,这样当收到此类电子邮件时,它们可以自动存储(可能是 PDF)或打印。
希望这能有所帮助
答案1
这是对可能对您有帮助的内容的简要描述。不完全确定您是否可以从 python 访问此事件,看起来这可能是 .net 功能。希望它能为您指明正确的方向。
答案2
遗憾的是,我工作的地方只安装了德语版 Outlook,因此无法提供正确的屏幕截图。不过,您需要执行以下操作。
在 Outlook 中创建新规则。
创建不使用模板的规则,并选择该规则应应用于正在发送的邮件已收到。
下一步,您需要设置规则的条件,不要提供任何条件,然后单击下一步。
系统将询问您是否确定不想设置任何条件,请确认。现在您可以选择要执行的操作。您应该选择要启动应用程序。然后单击应用下方面板中的链接。
Outlook 希望您直接指向可执行文件,并且不允许您提供参数。因此,您需要创建一个小的批处理文件来启动 Python 脚本并将 Outlook 指向该批处理文件。
如果需要,请设置例外情况,然后转到最后一步。
现在命名您的规则并保存。现在每次您收到电子邮件时它都会调用您的 Python 脚本。
顺便说一句,收到的电子邮件没有事件 ID。要查找事件 ID,只需检查事件查看器中的应用程序日志。Outlook 不会将收到的消息记录到事件日志中。
答案3
正确的,
我相信您可以做的是创建一个规则,正如@oliverSlazburg 所述,运行一个批处理文件。
在批处理文件中,您可以使用以下语法将事件直接写入事件日志:
eventcreate [/s Computer [/u Domain\User [/p Password]] {[/l {APPLICATION|SYSTEM}]|[/so SrcName]} /t {ERROR|WARNING|INFORMATION|SUCCESSAUDIT|FAILUREAUDIT} /id EventID /d Description
按照http://technet.microsoft.com/en-us/library/bb490899.aspx
请让我知道进展如何。