Ibex Mail

Ibex Mail is a mail server written entirely in Java, from scratch.

Unique Features

Because of its unified design and simple abstractions, Ibex Mail offers many features not found elsewhere:

  • Zero Configuration Required: all parameters are autodetected.

  • Absolutely No Backscatter, either inbound (due to Signed VERP) or outbound (due to Synchronized Forwarding)

  • Mailbox Abstraction – any class which implements the Mailbox interface can be treated as a mailbox and served via any of the various protocols (IMAP, POP3, NNTP, etc).

    • Mailbox Proxying – the clients for these protocols have been implemented with a Mailbox interface, making sophisticated proxying possible.

    • Virtual Mailboxes – implementations of Mailbox are available for GMail (written before they did IMAP), Sqlite, Mbox, Maildir, Mailman mailing list archives, and more.

Other Features

  • Greylisting

  • Challenge-Response Whitelisting with Signed VERP to solve the “bootstrapping problem”

  • Integrated Spam Filtering via Vipul's Razor, DCC, and ClamAV. Heuristic spam filtering is not supported.

  • Storage of mail in Sqlite databases via SqliteJDBC

  • Protocol support: IMAP, NNTP, POP3, SMTP, including SSL versions of all of the above.

  • Kerberos for password-checking (no protocol-level kerberization yet)

Planned Features

  • Mailing Lists

  • DomainKeys

  • Greylisting enhancements:

    • Greylist by message body hash to cope with large outbound-SMTP pools and unique-sender-per-attempt.

    • Integrate “no retry” entries from postgrey_whitelist_clients.

  • Tarpitting likely spammers


Ibex Mail is not yet packaged properly for release, and the source code still contains a few tweaks that are specific to the site where it is being tested.

darcs get http://mail.ibex.org/