There is a limitation in the use of automatic formatting to control how a message is displayed in a folder’s message list. I had been trying to use automatic formatting to change the color of messages in a particular folder if they contain a certain word in the body. I have a rule that moves some daily reports I receive into the folder, and rather than open each report if nothing has changed in the results of the report since it last ran, I wanted to have messages that contain a word that is in them when they have been updated to display differently. This way I can simply delete the reports with unchanged data, but still open them if I want to (which is why I am not using a rule to delete them upon arrival).
However, the automatic formatting was not being applied to messages that contained the keyword. I tried several different ways within the conditions editor of applying the formatting, all with the same results. I decided to open a case with Microsoft since we have loads of Premier incidents available to use. I had to work through several engineers until I finally got to the Outlook development team who had to look at the source code to determine why it wasn’t working.
That is when they discovered the culprit: a limitation that is by design. When using automatic formatting, only the first 256 characters of the message body will be searched. This is for performance reasons. I couldn’t understand why this would be the case since rules will search all of a message body. Then I realized why and it does make sense: Automatic formatting is part of the view for a folder. Views are calculated and applied each time you switch to that folder, so displaying the font face/color/size and bold/italics of each message in the folder list is dynamically applied each time you switch to the folder. The default automatic formatting rules for a folder include unread, overdue, and expired messages, plus group headers, etc. There is definitely a performance risk if Outlook had to search the entire message body of every message in a folder to determine how it should be displayed. To mitigate this, message body searches are limited to 256 characters when part of automatic formatting.
Rules aren’t subject to this limitation because they are one-time processes. Rules are applied only when a message arrives or is sent (or when you manually run one). So the workaround for my issue is to use a rule to search the body for a keyword, assign a category to it if there is a match, and then move it to the folder. I then use automatic formatting to change how a message is displayed if the category is the one I assigned. I have to create a rule for each keyword I am looking for (since I am also looking for reports that have errors), which isn’t as efficient as defining multiple automatic formatting rules, but it is an acceptable workaround since the results are the same.