ImapFilter is a Perl program for filtering
an IMAP mailbox according to a set of rules.
I use ImapFilter to filter my inbox into a set of IMAP folders. I also
use it for mail folder maintenance, by running a different rules file over
each folder periodically. The advantage this has over other filters
(e.g. procmail, mailagent, and zfilter) is that it is totally independent
of the mail delivery.
There are two mailing lists for ImapFilter, one for general discussion
and help, and another for announcements. They are coming soon...
ImapFilter was originally written by Tom
ImapFilter includes the following required packages:
Net::IMAP by Kevin Johnson <email@example.com>
Date::Parse by Graham Barr <Graham.Barr@pobox.com>
Contributions to ImapFilter are always welcome, and may be emailed to firstname.lastname@example.org.
Here is the current ToDo list:
Finish MAIL, REJECT functions
Built-in to canonicalize an email address, e.g. From/Reply-To
Add ABORT to bail out entirely and stop processing messages
Parse message flags for filter use (could write 'summary' filter showing
new, seen, total in folder)
Add "copyandmarkread" semantic, for archive folders - 2nd param to COPY?
Add BEGIN and END block semantics to filters for one-time init and shutdown
- can simulate now, but ugly
Use getopt for option processing
Allow configuration parameters to be set via command line
Improve fetch efficiency by getting more than one header at a time
Figure out way to encrypt password in conf file
Built-in handling of ranges and lists of message numbers efficiently
Add equivalent of perl's "-e" flag for short filters - maybe use "-" to
mean read script from stdin
Clean up signal handling a bit - remove lock file
Handle message on stdin - use "-" as folder - would need to be able to
store message in IMAP folder
Write 'imapfolder' for folder create/delete/empty/list all/summarize
Basswood Associates is a
professional services firm that specializes in strategic and technical
consulting in the areas of Internet advertising and electronic commerce.