Rumble is a mail server suite for SMTP (ESMTPSA), HTTP, POP3 and IMAP4v1 with an extensive C/C++ and Lua API for scripting.
It comes with support for SSL/TLS, SQLite and MySQL and has a web-based administration and webmail feature.
Additional included modules feature greylisting, DNS blacklisting, SpamAssassin support and dynamic performance scaling as well as a multithreaded structure that allows for clustering of multiple servers for one or all domains, and with the ease of the Lua API, you can create your own new server mailing lists, CRM software, e-marketing and other extensions within minutes.
It's written in ANSI C with a modular approach to most services and mail extensions.
Among other wonderful things, Rumble supports the following services:
You can add whatever services you'd like through the module API, which allows you to write or use modules that can attach themselves to each specific aspect of mail handling, such as mailing lists, MX backup, spam and virus filtering, automatic replies and so forth.
Go visit https://sourceforge.net/projects/rumbleserver/ for moar stuff :>
Latest changelog for Rumble:
0.47.3037:
- Rumble can now be set to bind services to a specific IP address
- Fixed a bug where Windows Services could not control Rumble's start/stop behavior
- Rumble can now feed emails to external programs and respond based on their outputs
- Email parser commands will be available on the Rumble wiki at http://sf.net/p/rumble/
- Preparing to move to configure and make on UNIX
0.46.3018:
- Added rumblectrl, a program for managing domains and accounts on the fly
- Removed a bunch of debug output from the IMAP system log
- Added a RunAs directive for UNIX systems to run the server as specific user
- Replaced the OpenSSL dependency with inhouse algorithms
- Rumble will now update rumble_status.log every minute with the last 500 log entries
- Removed some unwanted newlines in the log file
0.45.3000:
- Added relaying rejections and unknown recipients to the list of rejections in the statistics
- Changed the default number of Lua states in the thread pool to 50 (up from 25)
- Fixed a bug in RumbleLua where creating mail aliases wouldn't save the forwarding address
- Fixed a regression bug where aliases would be discarded as bad recipients when parsing from the queue db
- RSET commands on SMTP now retain the EHLO/HELO flag
- Added the relay account type to RumbleLua and the server mechanics
- Added some bad tweaks for Lua on Windows 64 bit
- Updated RumbleLua to use a new type of Lua HTML preprocessor
- Changed mail relaying to a new external function
- More code cleaning
- Removed some debug output when running in daemon mode
- Fixed some signed/unsigned mismatches
- Moved the Lua garbage collection