You are currently viewing a snapshot of taken on April 21, 2008. Most of this content is highly out of date (some pages haven't been updated since the project began in 1998) and exists for historical purposes only. If there are any pages on this archive site that you think should be added back to, please file a bug.

Seth Spitzer

Here are some architecture notes for the recent improvements to mail filters.

filter after the fact, or manual filtering
We now support filtering after the fact.
The way that it is implemented is by getting the desired filter (or filters) and doing a search on the selected folder.
We create the search (and it's terms) from the filter. 
As the search returns hits, we keep track of the headers.
When the search is done, we apply the filter action to the headers.
You can perform filtering after the fact from the Filter List dialog (see the "Run Now" button) and the Tools menu (see "Run Filters on Selected Folder")
UI spec:

news filters
We now support news filtering.
News filtering is on a per newsgroup basis.
You can't set up any cross server filters.  (there is a bug because the UI makes it look like you can.)
News filtering is done when we download the headers, when doing XOVER.
When doing XOVER, the only filter criteria we know is the subject, date and sender.  (there is a bug to support more)
news filtering has two new actions:  "ignore" and "watch"
the "delete" action for news means "don't add this header to the news database", which is different than "ignore".
news does not support filtering after the fact yet.  (there is bug to implement this)

The filter logging code was ported over from 4.x.
The biggest difference between it and 4.x is that the filter log is now an html file.
This will allow us to (one day) linkify or colorize the log file, or use CSS to hide/show entries by type.  this work has not been done yet.
There is a unique log file per mail server, and per newsgroup.
UI spec:

multiple actions
move is the last action.
for more details, see
UI spec:

filter by addressbook
Part of the mail views feature is the ability to show only mail from people you know, or people in your addressbook.
You can now create filters where sender is (or isn't) in your addressbook.
You can also do searches based on addressbook.
for more details, see

filter file name changed
note, in previous versions the filter file was named rules.dat.  It is now msgFilterRules.dat.
It was renamed because we had to fork the format.  for more details see
note, if you use older versions of mozilla with new ones, new changes to msgFilterRules.dat will not be seen with previous versions.