IVJ Mail

About Examples Performance Structure Extensibility Download
 
About IVJ Mail

The other day a friend of mine asked me to install a mail server on her computer. I thought that since I had no problem installing databases, HTTP servers, and similar junk, I should have no problem installing a mail server as well...

Well, I was in for a surprise. I tried it all: sendmail, qmail, postfix, James... All of it was a pain in the ass to install. So much configuration to do, so much stuff to read. All I wanted was a simple mail server.

So this is when I decided to write my own email server. Something that would be ready to go out of the box, would have simple configuration files, and easy-to-use command line interface (and in the future, web interface).

Read up on the structure section to see what I had in mind.

Back to the menu
 
Examples

Coming soon...

Back to the menu
 
Performance

Coming soon...

Back to the menu
 
Structure

Right now I envision IVJ Mail as the following FS tree:

IVJMail/
	/bin #executables
		ivjmail-server
		admin-client
		#keeping files to a minimum
	/src
		+folder
		build.xml
	/lib # src will compile Jars into here, and users will add their own
		sqlconnector.jar
	/doc # some HTML docs perhaps
	/conf # some easy-to-use configuration
		logging.xml
		database.xml
		conf.xml
		custom.xml # where users can add their own functionality
	LICENSE
	README

The biggest idea behind IVJ Mail is that it will NOT use Linux accounts as mail accounts. I know it's not "how it is supposed to be done", but this is not year 1980. Email has new demands.

All user accounts, aliases, mailboxes, etc, will be stored in a database. This will allow for extreme performance advantages over traditional file storage, and it will also allow for extensibility, because you would be able to add new users by simply inserting a row in the "users" table from your program, without ever having to deal with admin-client.

A big part of the structure will be "virtual domains". In fact, there won't be "regular" domains. Virtual domains only. And user names will be complete emails. So, for instance, bubba@ivjmail.com will be an actual username, pointing to an email box (in the DB) "bubba@ivjmail.com". If you want to create an alias from a different domain, say ivjmail.net, you would have to add an alias like

bubba@ivjmail.net <--> 345 (where 345 is ID of account bubba@ivjmail.com)

That's all I have in my mind right now.

Back to the menu
 
Extensibility

Coming soon...

Back to the menu
 
Download

So you've read everything and now you're drooling all over your keyboard thinking how much you gonna have to pay for this thing? Heh I know you're not drooling and I know that you know that its free since its hosted by SourceForge.net :). So, here are some links:

Author: Ivan Jouikov (ivj@comcast.net)

SF page: IVJ Mail // download the most recent version from there

Back to the menu

SourceForge.net Logo