Outlook Rule Exceptions - unread and past 3 days

M

Mike C

I have set up a Rule to move messages from my Inbox. I want to set a couple
of exceptions:
1. do not move any messages that are "unread"
2. do not move any messages that "arrived in the past 3 days"
I can not see a way to do this in the Rule Exceptions.

Is there a way to accomplish these exceptions in an Outlook Rule?
Will these options be available in future releases?
 
S

Sue Mosher [MVP-Outlook]

No, Outlook doesn't have any such rule conditions that would be relevant only
when running rules manually.
 
V

VanguardLH

Mike said:
I have set up a Rule to move messages from my Inbox.

Rules run automatically ONLY on *new* items as they are delivered to the
Inbox or exit the Outbox during a mail poll.
I want to set a couple
of exceptions:
1. do not move any messages that are "unread"

After a new item has just been received into the Inbox, you haven't read
it yet. That is something you do later. An automatically executed rule
won't know what you will do in the future regarding a newly received
message.

Since any messages that have been read are old messages (i.e., they've
already been delivered), no rules will automatically exercise against
those old messages. All newly delivered messages are unread, so your
rule is already implied (the converse of which is "move if read"). If
you had absolutely no rules, this implied rule is already obeyed: all
new messages are unread and without any rules to commit an action means
those new messages would not move out of the Inbox.

Just how would a rule know WHEN to execute? When would it know when YOU
got around to reading some messages? When would it know when YOU chose
not to read some of those messages? When would it know after how many
times of visiting a folder that you still chose not to read some
messages?
2. do not move any messages that "arrived in the past 3 days"

Rules are automatically executed only when *new* messages received.
Messages that were received 3 days ago are not new messages, so no rule
is going to get exercised against those old messages, anyway.

That would require a scheduler to run rules at specified times. There
is no scheduler of when you can decide when to execute your rules
separately of the events that trigger your rules to execute. Rules are
automatically ran by events (new delivery, new send). You can run them
manually but Microsoft didn't figure users would always be manually
running their rules. They're something that happen in the background.
What you want doesn't involve rules. It involves adding more code (as a
plug-in) to commit an action on old existing messages at the time of
your choosing (whether manually instigated or scheduled).
I can not see a way to do this in the Rule Exceptions.

The rule set is designed to commit an action when an event occurs. The
two events are when a new message is received (and then deposited into
the Inbox folder by default) or after a new message is sent. Rules are
oriented for automatic execution, not for repeated manual execution.
Manual execution is provided so you can test your rules. If you are
continually manually executing your rules, you probably need to redefine
them.
Is there a way to accomplish these exceptions in an Outlook Rule?

Since the rules are geared for automatic execution, they don't have the
conditions that you want for when you manually execute the rules.
Will these options be available in future releases?

Probably not. Once a rule is defined, it is rarely revisited other than
to delete or modify it. The expectation is that the rule runs in the
background, doesn't require intervention by the user, and doesn't touch
anything that isn't new. As they come in or as they go out is when
rules are applied. What you want are rules that execute LONG after a
new message has been received or sent. There is no scheduler in Outlook
to run rules at a later time (other than perhaps Auto-Archive could be
considered a scheduled rule). There are no clauses for rules to
differentiate between when the rule is ran automatically and when you
run it manually.

What you want is different behavior between when rules are executed
automatically from when they are executed manually. When you manually
execute your rules, only select those that you actually want to get
exercised against your messages. For something like the "older than 3
days" action, you could simply sort the list of messages and then select
all messages older than 3 days and move them yourself. Yep, this is
manual but so is manually executing rules.

It is possible there are add-ons that would run macros or code that
executes the actions that you want based on the conditions that you
specify when you choose to manually execute that code (or it includes a
scheduler to "manually" run that code but that means Outlook would have
to stay loaded for the plug-in to check its schedule). You might want
to visit www.outlook-code.com to see if someone knows of such code, or
one of the VBA programming newsgroups.

Natively, Outlook won't do what you want. Manual execution won't work
because the rules are designed for automatic execution. Automatic rule
execution is against NEW messages (in or out). Manually running custom
code that you add to Outlook is probably the only way you'll get those
actions to commit against OLD existing messages.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top