Ingo

An Open Source email filter management application designed for the Horde Groupware software

editor's review

download

specifications

changelog

Ingo is an open source web-based software, a plugin for the Horde Groupware application that provides a manager for email filter rules. It was originally designed as a front-end for the Sieve filter language.

The software is engineered in such a way that it can create filter rules for several mail processing/server software, including procmail, Sieve, or even IMAP (Internet Message Access Protocol). It can also create and run client/server filter scripts.

Features at a glance

Key features include a collection of special rules, including whitelist, blacklist, vacation, and forwards, as well as storage, transport and script backends. A flexible API (Application Programming Interface) is also available, allowing developers to easily integrate Ingo into their projects, as well as to create filter drivers.

Each filter driver can expose various capabilities that are hidden by default in the Ingo app. In return, Ingo’s user interface will adapt itself to display only the features and rules that the respective filter driver exposes. The project is capable of creating and running client and server filter scripts.

As mention, Ingo supports special rules, which can be emulated via filter script commands or translated to their native counterparts of the filter script backend. In addition, the app outlines script, transport and storage backends, meaning that the filter rules can be stored in multiple locations.

At the moment, Ingo supports SQL-based storages, as well as Horde Groupware's preferences. The uploading process of the generated filter scripts to the filter backends is backed by the transport backends.

Supported operating systems

Being designed to be independent of an operating system, Ingo can be used from any computer OS, including all GNU/Linux distributions, as well as the Mac OS X and Microsoft Windows OSes. It has been successfully tested on computers supporting either of the 32-bit or 64-bit hardware archtiectures.