0

我正在尝试使用 DASL 查询来过滤发件人和收件人不同的电子邮件。尝试了以下但似乎不起作用。请问我在这里做错什么了吗?

我收到一条错误消息“无法在...解析条件”

Dim PR_RECEIVED_BY_NAME as String = "http://schemas.microsoft.com/mapi/proptag/0x0040001E"
Dim PR_SENT_REPRESENTING_NAME as String = "http://schemas.microsoft.com/mapi/proptag/0x0042001E"

strFilter = "@SQL=" & "%last7days(urn:schemas:httpmail:datereceived)% AND (" & PR_RECEIVED_BY_NAME & "<>" & PR_SENT_REPRESENTING_NAME & ")
4

2 回答 2

2

如果我没记错的话,OOM 不支持比较查询中的两个属性,只有一个具有常量的属性——(在扩展 MAPI 级别上)需要RES_COMPAREPROPS限制支持,而 OOM 不提供。

像往常一样,您需要扩展 MAPI(C++ 或 Delphi)或Redemption(任何语言)。

于 2020-06-10T21:13:51.387 回答
1
  1. 您需要在运行任何限制之前对集合进行排序。

  2. 而不是使用last7days我建议使用这样的条件:


"@SQL=""urn:schemas:httpmail:datereceived"" <" & Format("6/10/2020 3:30pm", "ddddd h:nn AMPM") & "'"

  1. 您需要在 DASL 名称周围使用双引号,例如:
filter = "@SQL=""http://schemas.microsoft.com/mapi/proptag/0x0037001f"" = 'can''t'"
  1. 通过获取另一个属性值并将其用作常量,尝试在搜索条件中使用单个属性名称。希望能帮助到你。
于 2020-06-10T15:18:08.693 回答