我想编写一个小应用程序来扫描员工的邮箱并清除其中的信用卡号码(不幸的是,人们有时会通过电子邮件发送这些信息!)
我已经在 Outlook 中找到了可以执行此操作的工具,但这意味着要设置共享邮箱,而且有点麻烦。看来Exchange端是最好的选择。
我想使用 EWS,但它的搜索选项有点有限(即使我想获得一组潜在的候选电子邮件,我认为我需要 10 个不同的过滤器来返回包含数字 0-9 的电子邮件他们的 body ...然后在代码中使用正则表达式来确认/拒绝!)
无论如何,如果有人能想出一种使用 EWS 来完成此操作的好方法,那就太好了!
最佳答案
不幸的是,EWS 无法进行正则表达式搜索。您需要从服务器提取消息并在客户端上执行搜索。
您可以做一件事来加快速度:不要一遍又一遍地轮询每个邮箱,而是使用 SyncFolderItems (http://www.infinitec.de/post/2009/06/07/Processing-items -在 Exchange 文件夹中使用 EWS-Managed-API.aspx)。
使用您在后续调用中返回的 cookie。显然,您需要将 cookie 存储在某个地方,但是一个包含两列 FolderId 和 cookie 的简单数据库表就足够了。
这样您将只处理自上次调用以来新的/更改的项目。
关于regex - 使用 Exchange Web 服务进行正则表达式信用卡搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7648123/