Mailsmith
Other Programs
Scripts
Accounts
Address Book
Editing
Filters
General
Import/Export
Links
Mailboxes
Memory
Scripting
Speed
send/receive
Tips/Tricks


Mailsmith FAQ: Filters
When are filters run?
Created: 2002-03-29 Modified: 2002-03-29 Version: all By: John Gruber
They run when new mail is downloaded, and when you invoke them by hand with the Re-Apply Filters command.

 

Why does Mailsmith add a "Stop Filtering" action when I make a new filter using the "Make a Filter" command?
Created: 2002-04-03 Modified: 2002-04-03 Version: 1.5 By: Christian Smith

The reason why there is a "Stop Filtering" action is this:

Say you have two filters attached to (incoming mail). The first filter transfers a message to mailbox A and the second filter transfers messages to mailbox B and also sets a specific label. Neither filter has a "Stop Filtering" action.

Now, if a message comes in which matches both filters, the first filter will transfer it to mailbox A and the second filter will set the messages label. So, a message may fire a second (and third, etc) filter even though a previous filter applied a transfer filter.

Note that the first transfer action always gets applied even if later filters have transfer actions.

By applying a "Stop Filtering The Message" action at the end of the filter criteria you avoid this situation and this is why the "simple filtering" interface includes this action at the end of each filter it creates.

 

Why does filters attached to the trash affect incoming mail?
Created: 2002-04-21 Modified: 2002-04-21 Version: 1.5 By: Erik Mueller-Harder

The trick is that the "(trash)" mailbox is in fact the first mailbox whose filters get invoked after the "(incoming mail)" mailbox. Every message that comes in passes through the "(trash)" mailbox's filters immediately after any "(incoming mail)" filters and before any other mailbox's filters (unless you have a filter with a transfer or a stop-processing action attached to "(incoming mail)".

 

Why doesn't my filters work when I drop email on a mailbox?
Created: 2002-04-21 Modified: 2002-04-22 Version: 1.5 By: jem
Filters run only when messages are received or you use the "Re-Apply Filters" command

 

How can I delete an arbitarily filter criteria/action?
Created: Modified: 2002-03-25 Version: Pre 1.5 By:
You can delete any criteria/action by option-clicking it and then click "fewer criteria" (doesn't seem to work for the first critera).

 

Can I filter outgoing mail?
Created: Modified: 2002-03-25 Version: Pre 1.5 By:

Yes. Here is a short example of how to do it. Lets say that you want all mails to a certain email address saved in a certain folder. Start by creating a mailfolder to hold the emails, in this case I have called it "some emailfolder".

outfilter_1

Then create a new filter that matches the email address you want to save. In this case it matches the address "jem@acm.org" and the action is to move the email to the folder "some emailfolder". Note that this filter is applied after the email has been sent.

outfilter_2

And finally, attach the filter to the outgoing mailfolder. In this case I choose the folder "Jan Erik Moström".

outfilter_3

 

Any tips on filtering out spam?
Created: Modified: 2002-03-25 Version: Pre 1.5 By:

This filter by Rich Siegel is reported to work fairly well.

if  (any header)    contains                authenticated
or  From            Matches Grep Pattern    ^#+
or  Has Recipients  Is Not Equal To         True

then
    
    Deposit

Note that for the second term (From Matches Grep Pattern), you need to select "Match User ID" from the popup to only match the user ID of the sender.

There's an occasional false positive, but it generally works pretty well, given its simplicity. I've noticed that spammers have been getting more clever lately, and a few more spams slip by; I haven't analyzed them yet, but it should be easy enough to add another term or two.

(Credit where it's due, to Steve Sisak for suggesting the check for "authenticated" in the headers.)

Personally I would attach this to the incoming mailbox and as an action do a "transfer" to some mailbox

Note that from version 1.5 Mailsmith supports reporting spam using SpamCop

 

What does "is equal to" really means?
Created: Modified: 2002-03-25 Version: Pre 1.5 By:

When "is equal to" is used in a filter like this:

  if to is equal to "fred" (user id) then

would that be true for both these "To" fields or only the first one

  To: fred@blabla.com
  To: fred@blabla.com, freddy@blabla.com

The answer is that it's true in both cases. You can think of "to is equal to 'fred'" as "any-recipient in the to field is equal to 'fred'"

 

What does "Mail Server Name" match?
Created: Modified: 2002-03-25 Version: Pre 1.5 By:
It matches the name of the POP server, as specified in the account from which the message was downloaded.

 

How do I match a certain header field?
Created: Modified: 2002-03-25 Version: Pre 1.5 By:

Here is an example of how to match the "X-Recipient" field

(Header Text) Matches Grep Pattern "^X-Recipient: foo@bar\.com"

 

Can I change the order of how filters are applied?
Created: Modified: 2002-03-26 Version: 1.5 By:

You can change the order of filter execution in a specific mailbox by opening the Mailbox Info window for that mailbox (in v1.5 this command is called "Edit Attached Filters") and dragging the filters around.

As of version 1.1.3 the filters are applied in alphabetical order. If you have the following mailboxes:

A
B
    C
    D
    E
F

The filters attached to mailbox A are first applied to a message, then those in B. If a deposit action is executed in any of the filters in B the filters attached to C, D and E are applied in that order. If there were no deposit action filters attached to F are applied.

 

Can you give me an example of how to use filters?
Created: Modified: 2002-03-25 Version: Pre 1.5 By:

Say that you have three mailing lists 'listA@someplace.com', 'somelist@somewhere.com' and 'specificlist@somewhere.com' and you want the arrange the mailboxes in the following way

(inbox)
My mail
Lists
   listA mailings
   specificlist mailings
   somelist mailings

Then you could create the following filter

A: if to is equal to "myusername@myhost.myisp" (email address) then deposit
B: if to is equal to "somewhere.com" (server name) then deposit
C: if to is equal to "somelist" (user id) then deposit
D: if to is equal to "specificlist" (user id) then deposit
E: if to is equal to "listA@someplace.com" (email address) then deposit

Now open the "Mailbox list" window or the "Browser" window. And then drag&drop filters from the filter window to the mailboxes.

Drag filter A to "My mail"
Drag filter B to "Lists"
Drag filter C to "somelist mailings"
Drag filter D to "specificlist mailings"
Drag filter E to "Lists"
Drag filter E to "listA mailing"

What happens now is that all emails adress to you will be deposited into "My mail". The two filters B and E in "Lists" will deposit emails from the mailing lists into it and the processing is then continued with the filters in the three mailboxes.

 

Is there any speed difference between a "Transfer" and a "Deposit"?
Created: Modified: 2002-03-25 Version: Pre 1.5 By:
No.

 

Does "A and B or C and D" equals "(A and B) or (C and D")?
Created: Modified: 2002-03-26 Version: 1.5 By:

s this the same thing? The manual seems to indicate this. The answer is "No", the manual is incorrect, the criteria are evaluated in a linear fashion with no precedence. So the above would be: (((A and B) or C) and D)