Groups Images Directory Web
Recently Visited Groups | Help | Sign in
Google Groups Home
Group info
Members: 27
Language: English (UK)
Group categories:
Computers > Systems
Computers > Software
Computers > Internet
More group info »
Recent pages and files
Brief Feature List    

Some of the features available in this package

1.  svctool
    A simple tool with command-line options which helps you to configure any configuration item in indimail
    (creation of supervise scripts, qmail configuration, installation of all default MySQL tables, creation
    of default aliases, users, etc)
2.  configurable control files directory (using CONTROLDIR environment variable) (allows one to have multiple
    running copies of qmail using a single binary installation)
3.  configurable queue directory (using QUEUEDIR environment variable) (allows one to have multiple queues on a host
    with a single qmail installation).
    qmail-multi (queue load balancer) uses qmail-queue to deposit mails across multiple queues. Each queue has its
    own qmail-send process.
    You can spread the individual queues across multiple filesystems on different controllers to maximize on IO
    throughput.
    The number of queues is configurable by three environment variables QUEUE_BASE, QUEUE_COUNT, and QUEUE_START.
    A queue in indimail is defined as a collection of multiple queues. Each queue in the collection can have one or
    more SMTP listener but a single delivery (qmail-send) processes. It is possible to have the entire queue collection
    without a delivery process (e.g. SMTP on port 366 ODMR). The QUEUE_COUNT can be defined based on how powerful your
    host is (IO bandwidth, etc).
4.  uses getpwnam to use uids/gids, home from /etc/passwd, /etc/group (allows me to transfer the binary to another
    machine regardless of the ids in /etc/passwd)
5.  Hooks into local and remote deliveries
    QMAILLOCAL - Run executable defined by this instead of qmail-local (qmail-local)
    QMAILREMOTE - Run executable defined by this instead of qmail-remote (qmail-remote)
    Theoretically one can exploit QMAILLOCAL, QMAILREMOTE variables to route mails for a domain across multiple mail
    stores.
6.  Hook into qmail-remote's routing by using SMTPROUTE environment variable.
    Ability to do User Based Routing via SMTPROUTE environment.
    This gives the ability to split a domain across multiple hosts without using NFS to mount multiple filesystems
    on any host. One can even use a shell script, set the environment variable and deliver mails to users across
    multiple hosts.  I call this dynamic SMTPROUTE. Additionally qmail-rspawn has the ability to connect to MySQL
    and set SMTPROUTES based on values in a MySQL table. The connection to MySQL is kept open. This gives qmail-rspawn
    to do high speed user lookups in MySQL and to deliver the mail for a single domain split across multiple mail
    stores.
7.  Proxy for IMAP and POP3. Allows IMAP/POP3 protocol for users in a domain to be split across multiple hosts. Also
    allows seamless integration of proprietary email servers with indimail. The proxy is generic and works with any

    IMAP/POP3 server. The proxy comes useful when you want to move out of a headache causing mail server like x-change
    and want to retain the same domain on the propreitary server. In conjunction with dynamic SMTPROUTES, you can
    migrate all your users to indimail, without any downtime/disruption to email service. The proxy and dynamic
    SMTPROUTES allow you to scale your email server horizontally with using NFS across geopraphical locations.
8.  ETRN, ATRN, ODMR (RFC 2645) support
9.  accesslist - restrictions between mail transactions between email ids (you can decide who can send mails to whom)
10. bodycheck - checks on header/body on incoming emails (for spam, virus security and other needs)
11. hostaccess - provides domain, IP address pair access list control. e.g. you can define from which set of addresses
    mail from yahoo.com will be accepted.
12. chkrcptdomains - rcpt check on selective domains
13. envrules - recipient/sender based set or unset environment variables (qmail-smtpd, qmail-inject, qmail-local,
    qmail-remote) any variables which controls the behaviour of qmail-smtpd, qmail-inject, qmail-local,
    qmail-remote e.g. NODNSCHECKS, DATABYTES, RELAYCLIENT, BADMAILFROM, etc can be defined individually for a
    particular recipient or sender rather than only in the run file
14. NULLQUEUE, qmail-nullqueue (blackhole support - like qmail-queue but mails go into a blackhole). I typically uses
    this in conjuction with envrules to trash the mail into blackhole without spending any disk IO.
15. qmail-multi - run multiple filters (qmail-smtpd) (something like qmail-qfilter). Also distributes mails across
    multiple queues to do a load balancing act. qmail-multi allowed me to process massive rate of incoming mails
    at my earlier job with a ISP.
16. envheaders - Any thing defined here e.g. Return-Path, qmail-queue sets Return-Path as an environment variable with
    the value found in Return-Path header in the email. This environment variable gets passed across the queue and is
    also available to qmail-local, qmail-remote
17. logheaders - Any header defined in this control file, gets written to file descriptor 2 with the value found in the
18. removeheaders - Any header defined here, qmail-queue will remove that header from the email
19. quarantine or QUARANTINE env variable causes qmail-queue to replace the recipient list with the value defined in
    the control file or the environment variable. Additionally an environment variable X-Quarantine-ID: is set which
    holds the orignal recipient list.
20. Added ability in qmail-queue to do line processing. Line processing allows qmail-queue to do some of the stuff
    mentioned above
21. plugins support for QHPSI interface (qmail-queue). qmail-queue will use dlopen to load any shared objected defined
    by PLUGINDIR environment. Multiple plugins can be loaded. For details see man qmail-queue
22. Message Submission Port (port 587) RFC 2476
23. Integrated Authenticted SMTP with Indimail (PLAIN, LOGIN, CRAM-MD5, pop-bef-smtp)
24. duplicate eliminator using 822header
25. qmail-remote has configurable TCP timeout table (max_tolerance, min_backoff periods can be configured in
    smtproutes)
26. Ability to change concurrency of tcpserver without restarting tcpserver 

27. Ability to restrict connections per IP
28. multilog replaced buffer funtions with substdio
29. supervise can run script shutdown if present (when svc -d is issued)
30. rfc3834 compliance for qmail-autoresponder (provide Auto-Submitted, In-Reply-To, References fields (RFC 3834))
31. ability to add stupid disclaimer(s) to messages.
32. InLookup serves as a high performance user lookup daemon for qmail-smtpd (rcpt checks, authenticated SMTP,
    RELAY check).
    Even the IMAP, POP3 authentication gets served by inlookup. inlookup preforks configurable number of daemons which
    opens multiple connections to MySQL and keep the connection open.
    This gives inlookup a decent database performance when handling millions of lookups in few hours. Programs like
    qmail-smtpd use a fifo to communicate with inlookup
33. CHKRECIPIENT extension which rejects users not found in local MySQL or recipients.cdb database
34. indisrvr
    Was written to ease mail server administration across multiple hosts. Allows ones to create, delete, modify users
    and run any command as defined in variables.c. indisrvr listens on a AF_INET socket.
35. Identation of djb's code (using indent) so that a mortal like me could understand it :)
36. Works with Upstart - Upstart is an event-based replacement for the init daemon (http://www.upstart.ubuntu.com)
37. Changed buffer libraries in daemontools to substdio.
38. Can work with external virus scanners (QHPSI, or Len Budney's qscanq)
39. Compiles on Mac OS X Version 10.5.4 (have not been able to test yet)

40. qmail-queue custom error patch by Flavio Curti <fcu-software at no-way.org>
41. Domainkey-Signature, DKIM-Signature with ADSP/SSP

42. Greylisting Capability - http://www.gossamer-threads.com/lists/qmail/users/136740?page=last
43. nssd - Name Service Switch daemon which extends systems password database to lookup IndiMail's database for authentication
44. pam-multi - Generic PAM which allows external program using PAM to authenticate against IndiMail's database.

45. Post Execution Handle - Allows extending indimail's functionality by writing simple scripts/programs
46. Updated man pages.

Version: 
Create a group - Google Groups - Google Home - Terms of Service - Privacy Policy
©2010 Google