A new Outlook 365 Exchange Online user is struggling with rules.
I'm trying to figure out the hierarchy actions of the rules. I need to have email messages with exact subject detail sent to a specific folder. I also noticed that some rules are server based and are done first before leaving the 'cloud' and that rules on OWA seem to conflict with those set in Outlook.
If Outlook is open, the rules should be processed in the order listed, but when Outlook is closed, the server rules are applied. When you create rules in OWA, only server rules are supported.
Rules that have actions that require Outlook are client side rules and only run if Outlook is running. This includes moving messages to local pst files, adding a category or a flag. If a server rule moves a message when Outlook is closed, the client side rules that might apply to the message won't fire.
Suppose, for example that there are two rules. The first moves any message with "abc" in the subject to Folder A and the second rule moves messages sent from "microsoft.com" to Folder B. What happens if I receive a message from Microsoft that has "xyz" in the subject?
In this case, it depends if you are using Stop Processing with the first rule. When the message arrives, it's processed by the rules in the order they are listed and the message is checked against all rules unless a rule includes Stop Processing. With the Stop Processing action added, when a message matches the rule, Outlook stops looking at the remaining rules and moves on to test the next message. If you don't want a copy of the message in Folder A and one in Folder B, you need to use Stop Processing in Rule 1.
Client or Server Rules?
You can divide rules into two types - server-side and client-only. Server-side rules are handled entirely by the Exchange Server, independent of the state of the Outlook client. Client-only rules do not execute until the user who created the rule logs in to the Outlook client with the same profile used to create the rule.
Whether a rule is server-based or client-based depends on the exact conditions and actions for that rule.
Certain rules are always client-only - those that involve some element from the Outlook client that does not exist on the Exchange Server. The following table classifies these according to whether they depend on Outlook features, client files or the mail profile. The last group contains something of a surprise: A rule to copy to a public folder fires only when the client is logged in with the profile that created the rule.
TIP: Try forwarding the message to the public folder instead. That rule always fires on the server.
Rule conditions or actions | Examples |
---|---|
Conditions using Outlook client features | With specific words in recipient's address With specific words in sender's address Flagged for action Assigned to category With specific words in the subject or message -- if you specify multiple phrases |
Actions using Outlook client features | Notify me using a specific message Flag message for action Clear the Message Flag Assign it to a category Play a sound |
Actions that use client files | Move it to the specified folder (in a .pst file) Move a copy to the specified folder (in a .pst file) Reply using a specific template Perform a custom action Mark as Read |
Actions dependent on the profile used to create the rule | Move it to the specified folder (in Public Folders or in a .pst file) Move a copy to the specified folder (in Public Folders or in a .pst file) |
When you create a rule, the Rules Wizard stores the rule settings (conditions, actions, and exceptions) in a .rwz file with the same name as the user's profile. For rules for incoming messages, it also stores that information in the Inbox folder itself, with an indicator of what profile created the rule. This means that the details of the rule are available to the server.
When a message arrives, the server compares it with the list of rules. If the server can execute the rule, it does so. If not, it places a deferred action message (DAM) in a hidden Deferred Action folder in the mailbox.
When the user runs Outlook, the client checks the Deferred Action folder and examines each DAM. If the rule was created with the current profile, Outlook carries out the actions indicated in the DAM. This helps explain why rules may fire in an order different from that listed in the Rules Wizard: If the user is not logged in, rules that run on the server execute first, while client-only rules don't fire until the next time the user runs Outlook with the appropriate profile.
Note that if a mailbox is over its size limit, it cannot execute any rules that will send replies or forward items.
when i create rules in OWA, it works in webail and outlook client, But same rules when created in outlook client it does not work. I am using O365.
I tried yesterday to post a question, saw that it was 'awaiting moderation', responded to the email to 'confirm', but post got deleted. Retrying...
I have a VBA macro that creates a rule to move a message from the selected sender to a designated folder in a locally stored .pst file, but it's become a server-side rule since we converted to Exchange mailboxes. From what I've read, a move target to a .pst file should be treated as a client-only rule, but it's creating it as server-side. We're trying to avoid creating server-side rules due to the absurd 256k limit on the size of all server-side rules.
I've tried to locate a property or method in any of the rule-related objects to enable the 'on this computer only', but the closest thing I found was the IsLocalRule property of the Rule object, but that's read-only. When creating a rule in Outlook (via UI), you can specify whether the rule is 'on this computer only', but apparently not with VBA (?)
it wasn't deleted - its here waiting for me to approve it (and as long as its not spam, it will be approved). Moving to a pst should be a "(client-only)" rule - but all rules are stored on the server when you use exchange. Do you need to use VBA to create the rules or could you use VBA to just move the messages? You can watch the inbox using VBA and move the mail or use rules with conditions - preferably words that will match a lot of messages that need moved so you can use one rule - and then use a macro to move. Workable scenarios: You code the subjects with a client ID, which is also in the folder name. Easy peasy lookup. Folders are named using senders display name - outlook looks for a match and moves. Only problem is with senders who use different mail clients and display names. Can also work for domain names, if you want all mail from a company in one folder. Difficult scenario: Folder names don't match anything and you need to use an array to match names and folders. It's fine if the array is small, but… Read more »
1) So even if a rule is created via Outlook as 'client only' ('on this computer only' checked), it's still stored on the server? I created a test rule with this property set and when I used OWA to check server rules, it wasn't there.
2) The user needs to dynamically add senders that will have messages moved to a specific target folder in the .pst file, so it seems like having VBA create a new rule for each sender (or with more sophisticated coding, add the sender to the list of emails that will be moved to the target folder) makes sense.
3) It seems like like VBA coding to replace what rules do (constant monitoring of Inbox) would be difficult
#1, yes.
#3. Not really... but it really depends on the specifics.
https://www.slipstick.com/developer/itemadd-macro/
How to change exisitng client rule to server when it depends on stop processing ? some of my Rules need cascade to apply multiple categoreis to eMails but others need stop processing for more simpler Rule design.
You can't change a rule from client to server, except by removing the conditions or actions that make it client side. You can add conditions to server rules to force them to be client side. Maybe set a category or flag.
Is there a benefit to having server-side rules if I always want my rules to run every time I am using y mail, whether it's the web-based version or through the application? It seems super-confusing to have two sets of rules, or two versions of the same rules, for the same account. I set up my rules in the application, but under Server. Do I need to re-create them under client? Most of them are rules to assign a category.
You should only have one set of rules, with a mix of client and server sides.
If you use an Exchange mailbox (including outlook.com) server-side rules will move mail as it arrives - client-side rules would only work on mail left in inbox. I have a few clients who want to see the mail on their phones and want it left in the inbox until outlook downloads it - they need to add conditions or actions to make them client-side.
POP and IMAP account only have client-side rules.
I'm curious as to why rules that assign categories are client-only. Categories appear to exist on the server. When I used the Outlook 365 web-app I can see and assign categories. I can even create rules in that interface that assign categories. But when I try to create a server-side rule in the Outlook Windows client it won't let me assign categories.
The rules engine in outlook desktop is old - they improved the rules engine in exchange server which is why it works in OWA. The only thing you can't do is edit most rules you make in one, in the other.
Hi Diane,
Thank you for this explanation. It explains a lot of stuff that is not easy to find - even on MS sites.
In the words of that U2 song though, I still haven't found what I'm looking for :-)
I've created a rule in OWA to redirect to an external email address and then delete the message.
Unfortunately, it deletes the message first and then... there's no message to redirect.
No matter which order I put the rule clauses (I assume it is supposed to execute actions from first to last), the delete always shows up first in the panel on the right (the rule explanation). My tests seem to suggest the delete is actually happening before the message is redirected (I've tried forward as well just in case it was that).
The only way I can make it work is create 2 separate rules with 'stop processing' off on the first one.
Regards,
Stuart
Great article! This may be a stupid question but here it is. I created a rule on my desktop that is client-only. When I use my laptop, the rule appears with (For other computer) after it. Does that mean that rule will only run on my desktop or can I still run it on my laptop? Thanks!
It means it only runs on the desktop - because a condition or action is only available on the desktop.
You can edit it so it works on the laptop - but it may only show up as 'on other computer' on the desktop. If this happens, copy it and have one copy for each computer.
Is there anything useful a server rule CAN do? You seriously can't delete a message on the server? Those people are morons. They can't even figure out how to give you an error message explaining the problem. Just "LOL your server rule is a client rule now, hur dur".
Server side rules can do a lot - but they can't do things that use resources in outlook or local to the computer.