sift : The IMAP utility

sift is a simple client-side, utility for manipulating messages stored upon a remote IMAP server.

Using sift you may conduct scripted operations against the messages stored upon a remote IMAP server via a simple collection of rules.

A common use for this tool would be to:

  • Connect to a (remote) IMAP server.
  • Open a particular folder.
  • Find messages which are new and contain a given string in their subjects.
    • Mark them as read, and execute a program.


There are two types of rules which sift understands: Those that select messages and those which operate upon them.

At all times sift maintains a list of messages which are "selected". Using the rules you may refine which messages are currently selected, or operate upon those selected messages.

This idea of refining the selection of messages, then operating upon them is demonstrated in the sample rule-file included with the distribution.

The different types of rules are described more fully in the FAQ.

Using Sift

To use sift you must simply create a rule file, (the sample file makes a good starting point), and then pass that as an argument to the script.

If you've got any problems expressing your desired action(s) with the supplied rules and would like to see additional ones added please get in touch.

Download Sift

You may download the current stable release from the following links:

Installing Sift

To use the software you'll need the Net::IMAP::Simple::SSL module. A Debian GNU/Linux users may install this by running:

apt-get install libnet-imap-simple-ssl-perl

Download, unpack, and run "make install".

(If you install from the Debian package, mentioned above, then this manual installation won't be required, of course.)