Sakai’s next SMTP handler?

SubEthaSMTP is a easy to understand Java library which provides a receptive SMTP server component. By plugging this component into your Java application, you can easily receive SMTP mail using a simple abstract Java interface.

This component can be used in almost any kind of email processing application. Hypothetical (and not-so hypothetical) uses include:

A mailing list manager (ie, SubEtha Mail)
A mail server that delivers mail to user inboxes
A mail archiver like Mail Archive
An email test harness (Implemented in this project. It’s called Wiser.)
SubEthaSMTP’s simple, low-level API is suitable for writing almost any kind of mail-receiving application.

A Little History

SubEthaSMTP was split out of the SubEtha Mail mailing list manager because it is a useful standalone component. When we wrote SubEtha, the last thing we wanted to do was write our own SMTP server. In our search for a modular Java SMTP component, we examined:

Apache JAMES
JBoss Mail Server
Java Mail Server
Since you’re reading this page you probably already know what we found: Six different SMTP implementations without the slightest thought given to reusability. Even Jstmpd, which purports to be a “A Modular Java SMTP Daemon”, isn’t. Furthermore, even though JBoss Mail is in active development, the team was unintersted in componentization of the SMTP processing portion of their server.

During the development of SubEtha’s testing harness, we tried out the Dumbster software and found that not only was the API difficult to use, it did it not work properly, the developer has not done any development on it in about a year and it does not work reliably on Mac OS X. With two simple classes we re-implemented it as an included project called Wiser.

We hate reinventing wheels. This should be the LAST FREAKING JAVA SMTP IMPLEMENTATION.

Technorati Tags:


Leave a comment

Filed under Java, Sakai

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s