我想用DASL查询来过滤那些发件人和收件人不一样的邮件。尝试了下面的方法,但似乎没有效果。请问我是否做错了什么?
我得到一个错误信息 "Cannot Parse condition at......"。
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 & ")
在运行任何限制之前,你需要对集合进行分类。
而不是使用 last7days
我建议使用这样的条件。
"@SQL=""urn:schemas:httpmail:datereceived"" <" & Format("6/10/2020 3:30pm", "ddddd h:nn AMPM") & "'"
filter = "@SQL=""http://schemas.microsoft.com/mapi/proptag/0x0037001f"" = 'can''t'"
如果我没记错的话,OOM不支持在查询中比较两个属性,只支持用常量比较一个属性--这将(在扩展的MAPI级别上)需要用到 RES_COMPAREPROPS
限制支持,而OOM不提供这种支持。
和往常一样,你需要扩展的MAPI(C++或Delphi)或 赎回 (任何语言)为此。