IndiMail is a messaging platform utilizing the following packages qmail,serialmail, qma
IndiMail provides routers for SMTP, IMAP and POP3. This enables a domain to be extended across multiple servers and hence gives IndiMail the ability to distribute the users across multiple hosts using standard non-proprietary protocols and RFCs. You can have your users distributed on multiple servers, each server located anywhere on the net. Using a utility called 'hostcntrl', you can also add foreign users. This allows IndiMail to have a heterogeneous email server environment without the need for multiple domains (with some users on MS Exchange and some on Lotus Notes some on IndiMail). You can have multiple hosts hosting a domain placed geographically anywhere and tied up by IndiMail. Your Brazil users can have a server in Brazil and India users on server located in India and yet have the Indian user access all his/her mails when in Brazil. The IndiMail architecture also allows you to migrate seamlessly from a proprietary messaging products. The IndiMail architecture does not force a networked filesystem or NAS storage to be used for serving large number of users (typically in an ISP/MSP environment)
Though IndiMail uses the power of qmail, it has multiple queues (called a queue collection). The multiple queues can be located on multiple disks. Each of these queue have their own dedicated qmail-send/qmail-todo process. A drop-in replacement for qmail-queue - qmail-multi distributes incoming mails evenly across the defined multiple queues. The multiple queue architecture allows IndiMail to eliminate what is known as the silly qmail syndrome. Hence IndiMail can process a very high incoming rate of mails and faster than provided by stock qmail/netqmail. The system ids, configuration files used by IndiMail are all configurable through a set of environment variables. IndiMail avoids using hardcoded directories and hardcoded uid/gid for the queue, control files and process privileges. Most of these variables are set at run-time. Hence, you can quickly setup multiple instances of IndiMail just by setting different environment variables. Setting CONTROLDIR=control1 will cause IndiMail to look at configuration files in /var/indimail/control1. Setting CONTROLDIR=/etc/indimail will cause IndiMail to look at configuration files in /etc/indimail. Setting QUEUEDIR=/ramdisk/queue1 causes IndiMail to use /ramdisk/queue1 as the queue. IndiMail has around 200 such variables which can be used to fine tune the way you want IndiMail to behave. This gives the ability of a single installation of IndiMail have a different behavior for each queue, sender, recipient, source host, destination host.
Though the configuration items are plenty, the novice can have a fully functional Mail Server up in minutes by just using few of the important configuration variables. Newbies can also administer IndiMail using a Secure Menu Shell called FLASH (using ncurses library). Flash allows menu and sub menus to be extended and is fully customizable.