All-Rules Mail Bundle: The shortcut to your Mail.app rules

Have you ever wanted to automate some message sorting tasks in Apple’s Mail application after you have read a message? I, for example, use one archive folder per account and move all messages into that folder after I’ve read them. The application’s rule system is perfectly suited for that task, unfortunately there is no way to activate certain rules by pressing a keyboard shortcut. That’s where this bundle comes into play.

The All-Rules Mail Bundle acts as a plugin for Apple’s Mail application and serves just one specific purpose. It provides an additional menu item located under “Message -> Apply All Rules” which applies all active rules to the currently selected messages while ignoring any present “Stop evaluating rules” action.

Where to get the bundle

The source of the bundle is available at GitHub as a standard Xcode project. Feel free to adapt it to your needs if necessary. I will also provide a precompiled binary for those of you who just want to use it out of the box.

Note that I’ve developed and tested the thing on my only Mac machine, which clearly is an inadequate test coverage. As always I would be happy about any response. So far the bundle is known to run in the following environment, which is the most recent one at the time of writing.

  • Mac OS X Snow Leopard 10.6.6
  • Mail Application 4.4
  • Message Framework 4.4

How it is implemented

First of all, let me emphasis that this is the first time I actually did some Objective-C coding. But I really liked the feel of it. I was really surprised about the power of the Objective-C runtime. You can do lots of nasty stuff at runtime like changing class hierarchies, adding methods to classes, changing method implementations and so on.

I used one technique known as method swizzling in the bundle, which lets you switch the existing implementation of a method with your own replacement at runtime. This enabled me to override the original shouldStopEvaluatingRules implementation of the MessageRule class inside the Message framework.

Unfortunately most of the APIs of the Mail application and the Message framework are private, so I expect my bundle to break sometime in the future. But the API can be easily reverse engineered with the class-dump utility which generates header files out of Objective-C binaries.

To prevent bundles from silently breaking, each bundle includes a list of the exact versions of Message frameworks and Mail applications it is compatible with. I found an article that explains how to fix unsupported plugins after upgrading Mail.app without recompiling them. So if you have different versions running on your machine that are compatible as well, let me know about them.

And last but not least I want to mention one article which helped me a lot in figuring out all those tiny details and really did it’s job in demystifying Mail.app plugins on Leopard for me.

Related bundles

The same (and more) could be done with Indev’s Mail Act-On bundle, unfortunately that bundle is sold under a commercial license. With my bundle I cloned the essential feature which was indispensable for my personal use.

This was great experience.

This was great experience. Thank you for sharing this information.

Thanks for sharing this

Thanks for sharing this amazing blog.

I am not much into reading,

I am not much into reading, but somehow I got to read nice information on your site. Simple to understand and helpful. We will look forward for your future updates.Thanks!

Such an informative blog.

Such an informative blog.

Thank you for always sharing

Thank you for always sharing here an informative post.

It's nice seeing this great

It's nice seeing this great site again. Nice work!

Why are you asking, did it

Why are you asking, did it disappear for a while?

Happy to visit this one.

Happy to visit this one. Thanks for the information.

Likewise. Anyway, if you find

Likewise. Anyway, if you find yourself constantly managing your Mail.app inbox, the All-Rules Mail Bundle is the shortcut you need to stay on top of things. This collection of pre-made rules can be imported into Mail.app, making it easy to get your inbox under control.

Recommended Service: https://www.tileandgroutcleaningprosavondale.com

Same here and I learn

Same here and I learn something valuable today. Anyway, for the best pool service Chandler based cleaning, get it from https://www.poolcleanerchandleraz.com/

Lipnios etiketės jūsų

Lipnios etiketės jūsų sukurtiems produktams, kurios pritrauks visus klientus. Užsisakykite iš iPRINT <a href="https://iprint.lt/lipnios-etiketes.html">Lipnios etiketes</a>

What language is that? I

What language is that? I don't understand it but I hope you shared something informative. Anyway, get the best carpet cleaning in Phoenix from this company: https://www.tileandgroutcleaningprosphoenix.com

Prima! Sehr gut!

Prima! Sehr gut!

No to kup!

No to kup!

Hello

Hello

Nieźle!

Nieźle!

Super!

Super!

What language are you guys

What language are you guys using?

Be lentynu svetaine atrodo

Be lentynu svetaine atrodo neuzbaigta. Noredami kokybiskos svetaines turite isigyti lentynas

Great content! l

I don't know. I think it

I don't know. I think it needs a little bit of improvement

http://www.coachellavalleyconstruction.com

Thanks for sharing this great

Thanks for sharing this great article, glad to check this site.

I was very encouraged to find

I was very encouraged to find this site. The reason being that this is such an informative post. Thanks for sharing!

Nice to know that the author

Nice to know that the author even indicated how this should be implemented

This is really informative,

This is really informative, Thanks a lot!
-Grant

Really agree with you there.

Really agree with you there. Wait, what are you guys talking about again? This comments section is a mess right now.

https://www.desertsunconcrete.com/

I couldn't agree more.

I couldn't agree more. Anyway, if you're looking for someone to repair your sprinklers in Phoenix, you must try this: https://www.sprinklerinstallphoenix.com/sprinkler-repair.html

I found that recent updates

I found that recent updates prevent this mail app from displaying properly. When can we expect an update?

This was a great update. It

This was a great update. It makes life easier. Thank you for sharing.
https://www.electricianreddingca.com/

Thanks for sharing this

Thanks for sharing this information. It was really a great app.
https://www.carpetcleaning-lancaster.com/

Thank you for sharing! If you

Thank you for sharing! If you are looking for the best cleaning professionals, visit our site!

Thank you for sharing this

Thank you for sharing this amazing post. keep up the great work

Awesome! This is helpful for

Awesome! This is helpful for me.

Awesome, thanks for sharing!

Awesome, thanks for sharing!

The site was so nice, I found

The site was so nice, I found out about a lot of great things. I like the way you make your blog posts. Keep up the good work and may you gain success in the long run.

Thank you for sharing this

Thank you for sharing this amazing post. keep up the great work

cool blog! I found some good

cool blog! I found some good stuff here for future reference. Hope to see more posts in the future!

This is such a great blog.

This is such a great blog. Thank you for sharing your talent with everyone. You are an inspiration.

Thank you for sharing the

Thank you for sharing the article, very helpful and informative . If you're looking for moving services, I highly recommend this website <a href="https://riverside1movers.com">riverside1movers.com</a>

Thanks for pointing this one

Thanks for pointing this one out. Awesome write up.

Impressive explanation. Thank

Impressive explanation. Thank you for educating us.

Santa Ana you are so right!

Santa Ana you are so right! They did an amazing job.

I wouldn't exactly call their

I wouldn't exactly call their work "amazing," but yes - it does the job. What more could anyone ask for, right? http://blitzmarketing.org

I've been contemplating

I've been contemplating buying this after reading this post.
https://www.treeservicegrandrapidspro.com/

Using it a month even though

Using it a month even though I have a newton subscription that I will not be renewing considering they've done no further development. https://www.lansingtreeservicepro.com/

I was directed to your post

I was directed to your post by an SFM member. Big help
https://www.treeservicegreensboropro.com/

This is a great post. I like

This is a great post. I like this topic.

This is what I am looking

This is what I am looking for, the shortcuts to Mail-up rules. Been searching for this in Google and youtube but this one is detailed.

You really emphasized all the

You really emphasized all the details with these rules. I appreciate your efforts. Thanks!