Skip to content

Instantly share code, notes, and snippets.

@knudmoeller
Last active January 30, 2023 12:44
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save knudmoeller/645632a87fe879dcd714a07cdac7fe5b to your computer and use it in GitHub Desktop.
Save knudmoeller/645632a87fe879dcd714a07cdac7fe5b to your computer and use it in GitHub Desktop.
Perform OR queries for categories on Microsoft Outlook for Mac

Perform OR queries for categories on Microsoft Outlook for Mac

Bizarrely, one cannot make OR queries in Microsoft Outlook for Mac, at least not easily. For example, I want a smart folder that contains all messages tagged with either the FIS Broker category or the Dubletten category.

The way to do it non-easily is to select Raw Query as the query rule type (in Search > Advanced), and then enter a Spotlight query string. The attribute to query for categories is com_microsoft_outlook_categories. That attribute takes a numeric id - but what the hell is the id for a category like FIS Broker? Outlook doesn't tell me, so I have to go even deeper down the rabbit hole. Here is how:

  • Tag a message with a sufficiently unique message title with the categories you're interested in (e.g., FIS Broker and Dubletten).
  • On the commandline, navigate to the folder that contains the raw MS Outlook messages:
$ cd ~/Library/Group Containers/UBF8T346G9.Office/Outlook/Outlook 15 Profiles/Main Profile/Data/Messages
  • Grep for the title of the message to find the file that contains it:
$ grep -r -i "A sufficiently unique message title" ./*
Binary file ./11/0B2132B7-999F-4114-AC6C-E93DE72CEF9A.olk15Message matches
Binary file ./156/9C6C3E09-C2A3-42CE-A5EF-CEAB70865FC5.olk15Message matches
  • Now run the mdls command on that file to find the attached Spotlight metadata:
$ mdls ./11/0B2132B7-999F-4114-AC6C-E93DE72CEF9A.olk15Message
  • You'll get a long list of metadata. For our com_microsoft_outlook_categories attribute we get something like:
com_microsoft_outlook_categories               = (
    87,
    86
)
  • So there we have our category ids!
  • Finally, the raw Spotlight query to match all messages tagged with either one of these categories and put them in a smart folder is:
com_microsoft_outlook_categories == 86 || com_microsoft_outlook_categories == 87

Sources:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment