Upon receiving a few emails with their subjects entirely in capital letters, I wondered if I could defuse my extreme frustration at this situation using every Exchange admin’s best friend; the Transport Rule.
I was able to create the following transport rule to bounce/reject all messages with only capital letters in the subject, including ignoring the common indicators for replies etc.:
New-TransportRule -Name 'All Caps is Bad' -SubjectOrBodyMatchesPatterns '^(R[eE]: )*[^a-z]*$','^(F[wW]: )*[^a-z]*$','^(Fwd: )*[^a-z]*$'
This creates a new transport rule, and any message whose subject (or body) matches any of the following Regular Expressions will be bounced:
- ^(R[eE]: )*[^a-z]*$ (eg: “Re: THIS IS IMPORTANT” or “THIS IS IMPORTANT”)
- ^(F[wW]: )*[^a-z]*$ (eg: “FW: THIS IS IMPORTANT”)
- ^(Fwd: )*[^a-z]*$ (eg: “Fwd: THIS IS IMPORTANT”)
When a user tries to send a message with only capitals in the title, the following is returned. Note the 5.7.111 “Do not use a capitalised” subject bounce message.
This is obviously not something I recommend deploying in production, but it does show how easy it is to evaluate message bodies and subjects using regular expressions.