I'm using Apple Mail with IMAP account. I have several filtering rules defined. The problem is that Mail doesn't apply them automatically to incoming email. Even spam isn't filtered automatically.

For all incoming email, every time, I have to select e-mails and select "Apply Rules", and then rules work fine (that one time on selected e-mails only).

It works like this on two separate installs of Mail with different accounts (both IMAP though).

How can I get Mail to apply all rules automatically every time to all e-mails?

I wonder does it ignore rules because of misconfiguation, bug or does Apple seriously expect people to use "Apply Rules" menu item regularly?

4 Answers 4


This is a bug.

In their infinite wisdom, Mail.app developers decided only to apply rules to 'unseen' messages. If the IMAP 'seen' flag is set, rules will not be applied.

I started a forum thread on the apple forums on this topic.

  • The thread seems to be deleted. But on my MacBook with Mavericks the bug is still valid. Any news on this one?
    – velop
    Feb 7, 2015 at 11:10
  • 1
    not fixed in both Yosemite & El Capitan. Ugh… Nov 1, 2015 at 8:08
  • 7
    Neither in High Sierra! Sep 28, 2017 at 9:51
  • See answer by velop below for a fix
    – SteffX
    Apr 7, 2018 at 7:47

I found following post: http://www.cnet.com/how-to/how-to-delete-and-manage-old-messages-in-os-x-mail/

So you have to do the following:

  1. Add your filter that you want to apply.
  2. Add the rule condition: Every message.
  3. Set the drop down to "all"

You need to set "all" because if you set "any". What happens is that it evaluates every message, it will automatically match "every message". Then because you set "any". It won't consider the actual filter. Then it'll execute the action. So if you set the "delete" action. You will automatically delete every message in your inbox. A very dangerous mistake.

  • 6
    Make sure that when you set the "Every Message" action, that you make sure that the rule matches ALL conditions, instead of ANY conditions. otherwise you will affect every message in your inbox.
    – Ben L.
    Mar 17, 2015 at 19:24
  • 2
    I did the following to finally get it working: 1) remove "stop evaluating rules" from Rule #1 Apple News 2) Add "Every Message" to my rule 3) Add the Account name to my rule (Google account) Feb 17, 2019 at 9:07
  • This also fixed my problem, but in addition to the solution presented, I also had to add the account name as a rule as @Vasily Hall suggested.
    – GForce
    Mar 9, 2019 at 2:08
  • This doesn't work for me. Yes, if I do all of these things, I can colour a mail, and it works on the way in too. But when I switch the action to an applescript which works on mails when I select them and run opt-cmd-L no probs, MacMail ignores the script run.
    – volvox
    May 20, 2019 at 21:47

I had the same issue, but it turned out the first rule in the list (News from Apple) had "Stop evaluating rules" as the last action.

I removed this action and it worked fine.

  • 3
    Thank you! That should be on on Apples FAQs. Nov 9, 2018 at 16:22
  • 2
    Thanks. Eight years later this is still a pain. Why would they do that!!
    – wheeliebin
    Mar 19, 2020 at 17:08
  • wow I just spent 20 minutes trying to figure out why my rules didn't work. Thanks! and wtf apple.
    – JavaKungFu
    May 21, 2020 at 21:50
  • Thank you for this insight -- I've applied the change and we'll see how it goes fingers crossed. That said, this feels like an inherently stupid decision; that flag applies at the level of "if an email matched this rule, do these things" so why should it stop the processing of ALL emails and not just that one email? Isn't the actual intention behind such a rule (when seen on other platforms) to be "handle this email in this way and then do not process this particular email through any other rules"? What is the point of having a global "stop processing rules"-rule?
    – Bane
    Mar 26, 2021 at 14:34
  • 1
    How does this rule cause problems? Looks like it targets only Apple messages. Dec 11, 2021 at 13:43

Not sure if this is exactly your problem, but something similar happens to me.

I've got a Mac running Apple Mail and an iPod touch, both checking the same IMAP account. The Mac is asleep during the day. While out and about, I'll check my mail on the iPod, read the new messages, and leave them in my inbox. When I come home, I wake up the Mac, and Mail syncs with the server. The filtering rules are not applied.

The reason for this behaviour is that Mail only appears to apply rules to "new" mail. Having already seen these new messages on another device, I'm not so much downloading new messages to Mail as I am synching with the server. So, no rules applied for these messages.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .