SubEtha is a modern,
sophisticated mailing list manager. Features include:
- Easy installation on Windows and Unix platforms
- A user-friendly web interface for all configuration management
- Virtual domains (ie list@foo.com and list@bar.com are separate lists)
- Searchable, threaded archives
- Users can have multiple email addresses and self-moderate messages from unknown addresses
- Intelligent attachment handling; attachments can be removed from
delivered mail and replaced with a download link to the archives
- Pluggable, configurable message processing filters which can arbitrarily modify
the inbound and outbound message streams. Example filters include
attachment stripping, header munging, spam detection, and insertion
of advertising
- Per-list role-based permissions
- One-step creation of basic list types (ie "Announce-Only List" or "Technical Support List").
The set of available types is pluggable
- Users can compose and reply to messages from the web interface
- Intelligent VERP bounce processing
- Clusterable for nearly unlimited scalability
- Easy integration with any mail transport agent (MTA)
- EJB and SOAP interfaces for automation
- International characters in emails are properly passed through
the system and rendered in the web interface
- RESTful, bookmarkable URLs
- A modular SMTP library that can be used outside SubEtha - see
SubEthaSMTP
Design
SubEtha is a three-tiered Java application running on JBoss AS using
EJB3, JMX and JMS.
It is designed to deploy on JBoss AS and relies on numerous other open source
projects including
Hibernate,
Velocity,
Tagonist, and
Lucene. The code is well-commented
and designed to provide a tutorial of:
- Building a three-tiered middleware application using JBoss and EJB3.
- A variety of entity relationships using Hibernate.
- Using the Hibernate 2nd-level cache to nearly eliminate database hits.
- Creating and using a Hibernate custom type.
- Using JBoss Service POJOs.
- Using JBoss Message-Driven POJOs.
- Securing an application using J2EE security.
- Integrating with JBoss JAAS-based security system.
- Full text indexing using Lucene.
- Using the world's simplest web framework, Tagonist.
- Validating HTML form inputs with the Hibernate Validator.
- Zero-effort form processing with the Propertizer.
- Unit testing EJB systems with JUnit.
Status
This project is
self-hosting
and has been used in production for many months. We consider it
stable and ready for large-scale use.
Useful documents
Packaging options
- An EAR file and instructions for deploying into JBoss.
- A zip file containing JBoss preconfigured to run with SubEtha standalone.
- RPM and DEB packages with fully configured JBoss/SubEtha (pending).
Support
If you have any bug reports, questions or comments about SubEtha Mail, it's best that
you bring these issues up on the
Mailing Lists and
not email the authors directly.
User Stories
Open source communities are always a little mysterious. Since anyone can
download SubEtha for free, we have no good way of knowing how our software
is doing in the wild. Please take a moment to send a message
to our mailing list and let us how you
use SubEtha, what you like, what you dislike, and any other thoughts
you might have about it.
Credits
- Jeff Schnitzer
- Jon Stevens
- Scott Hernandez
- Ian McFarland