![]() |
MAILMAN
VS SYMPA |
There are numerous mailing list managers, and choosing between them is no easy task. Our firm, FTPress, has carried out a comparative study of two well-known Open Source servers (GPL license) : Mailman (version 2.0.9), the GNU list manager, and Sympa (version 3.3.3), a system developed at the beginning for French Universities.
The following features have been compared :
- mail delivery and e-mail based tools
- web interface
- list and site administration
- customisation
- technology
Multi-lingual support and virtual robots management are of equally high quality in both packages making a comparison of these features unnecessary.
Sommaire
1.
Mail Server Features
1.1. Mail
delivery
1.2. Service messages
2.
Web interface
2.1. List
archiving
3.
Administrative features
3.1. Dynamic
definition of the lists
3.2. Managing bounces
3.3. Message moderation
3.4. Managing aliases
4. Architecture
4.1. Database of the members
4.2. Authentication
4.3. Access control
5. Customisation
6. Installation
7. Conclusion
1.1. Mail delivery
There are hardly any differences between Sympa and Mailman as far as mail delivery
to users is concerned. Both servers offer all the basic subscription features
with a few extras thrown in.
Mailman has the “ack” feature enabling members to receive an acknowledgement for their own messages. Additionally, content can be filtered according to a range of “topic buckets” pre-defined by the list manager.
Sympa has the mode “URLIZE” where attachments are replaced by URLs. There is also the option for format of text/plain or text/html. This can be very useful when delivering a newsletter in multipart/alternative (html and plain text) versions.
For mail delivery Mailman is able to relay list traffic through an NNTP server,
whereas with Sympa you have to install additional software such as mail2news
(http://tertius.net.au/~gossamer/code/mail2news/) or 1ntp2nntp (http://freshmeat.net/projects/lmtp2nntp/?topic_id=28).
Sympa has the bonus of being able to filter messages through an external anti-virus
software.
1.2. Service messages
The high-quality of web interface available in both mail managers renders the
traditional e-mail based management messages obsolete. Both packages have them,
but they are unlikely to be used for anything other than emergencies. In both
Sympa and Mailman the service messages (welcome, etc) can be customised. Sympa
can use the MIME format for service messages (such as joining an attachment
containing the latest message delivered on the list to a welcome message). Moreover,
Sympa identifies commands in various forms (be they in multipart messages, in
the subject of messages, or in support of the addresses dedicated to subscribing
and unsubscribing). The care taken over using the MIME format goes as far as
making it possible to authenticate a message or a command by checking a S/MIME
signature. The “which” command is not available in Mailman.
Apart from mail delivery, the web interface is obviously the most convenient interface for all of the other operations connected to a list server.
The web interface is an integrated feature in both Sympa and Mailman, whereas it is only a contribution/annex in Majordomo (a popular mail manager, which is generally managed by e-mail messages alone).
Upon testing it becomes immediately obvious that Sympa offers a unique service
for many lists, whereas Mailman offers individual services for each list. This
difference is significant for a number of points:
- authentification : Sympa uses a single password for the whole list server,
whereas Mailman allocates a different password for each list.
- by default Sympa’s homepage displays the delivery/diffusion lists sorted
by theme/subject. In Mailman this function is only available after installing
an extension.
- no “which” command and no personal preferences in Mailman
2.1. List archiving
Both servers offer web archives of all list traffic, with the possibilities
for these archives to be private. In addition to sorting messages by date and
by thread, Mailman makes is possible to sort by author. Sympa stands out with
its integrated search engine and its system of protection of the addresses based
on accessing the archives via a form and then verification of an http cookie
(this system is more advanced in Sympa’s 3.3.5 version).
3.1. Dynamic definition of the lists
Sympa makes it possible to define dynamic lists either by including other local
lists or resorting to an external source of data (database, LDAP directory).
The list manager or the administrator can define new sources of data directly
through the web interface.
3.2. Managing bounces
It is fundamental to handle bounces with a list robot otherwise the list manager
will be notified each time a message bounces. Whereas Mailman offers a fully
automatic disposition of bouncing addresses, Sympa leaves it up to the list
manager to make the final decision.
Sympa analyses the non-delivery reports to capture the erroneous address and find out where the error lies; the rate of bounce detection nears 95%. Sympa sends the list manager the data from its administration web interface : number of bounces per member, date of the first and latest bounce, type of error, access to the latest error report. The manager can cancel the errors in the address or unsubscribe the user.
Mailman classifies bounces into two categories (hard and soft) and specifies the member’s bounce score (1 and 0.5). The list manager can define the acceptable threshold for a member’s score and the associated action (unsubscription or disactivation). Disactivated users will still receive notices enabling them to reactivate their membership. After a given time (which can be predefined) without any bounce on their address, the bounce score of these members is brought back to zero. Anyhow, Sympa's authors have promised an automatic bounce management feature, a long time ago in a galaxy not that far away…
3.3. Message moderation
Its ability to control messages before they are delivered is a fundamental feature
in a list manager.
As most list servers, Mailman makes a distinction between moderate, private or public lists. An additional filter is the application of regular expressions on the sender’s address. This filter is set up when configuring each list.
Sympa uses a system called “scenario” which makes it possible to
reject, moderate or deliver messages depending on the evaluation of the sometimes
complex conditions applied on the messages (i.e. : message size, attachment
type, sender email address,…).
Sympa distinguishes between two groups involved in managing the list:
* the owners, who are in charge of managing members
* the moderators, who are responsible for content/editing
3.4. Managing aliases
Whereas Mailman requires the administrator to manually install the aliases when
creating a list, Sympa automatically adds the aliases to a list. It is then
easy to create or remove whole lists from the web interface, without needing
access to the server.
4.1. Database of the members
Sympa uses an external relational database to manage members accounts and preferences.
It is up to the administrator to choose the RDBMS (MySQL, PostgreSQL, Oracle
or Sybase). Using a RDBMS makes it possible to get good results whatever the
number of members and is capable of managing a large number of members (200,000).
4.2. Authentication
In both servers the authentication on the mail interface is based on the e-mail
address, with the possibility of confirmation by mail. Sympa resorts to S/MIME
signed messages to authenticate via mail and to clients certificates (X 509)
on the web interface. There is quite a difference as far as authentication on
the web is concerned as Sympa offers users a single password when Mailman runs
a password per list.
It is also worth noting that on Sympa the web authentication can be based on joint LDAP directory.
4.3. Access control
Mailman provides several privacy features to limit members access to archives,
membership lists.
In Sympa, controlling access to each operation can be finely set up thanks to the “Scenarios”. Those are a list of rules that, when applied to the current context, lead to a given action. Sympa comes with many pre-configurated “scenarios” covering most cases, but new scenarios can be written, thereby defining new types of lists. This access control is undeniably a bonus as it can be applied to all operations on the server, granting or refusing the right to create a list, subscribing, consulting the archives, etc. “Scenarios” are also used to control access to operations on the web interface. It is however unfortunate that only the application manager can define new scenarios (list owners can only select existing scenarios for their lists). This restriction limits the list owners’ options for setting up their own message filters.
In Mailman it is possible to customize global parameters and the lists. However,
it doesn’t let you customise web pages, command report and command behavior,
except via modification of the code.
In Sympa data are organised hierarchically :
default < site < virtual robot < list.
Thanks to this organisation, all that is customisable can be put in common
(web template, command report template, scenarios, set ups) and it is only what
is specific to each list that needs redefining. The repartition of the administrative
responsibilities follows the same logic :
listmaster < virtual robot's listmaster < privileged owner < owner
< moderator
thus making it possible to delegate tasks and responsibilities on a large scale.
Both Sympa and Mailman can run on most Linux systems. Whether installing Mailman
(written in Python) or Sympa (written in Perl), one starts with the same operations:
* create a dedicated user
* “./configure ; make ; make install”).
However, the task is sensibly more significant when installing Sympa :
* install MySQL, PostgreSQL, Oracle or Sybase and create tables with the scripts
provided (%mysql < create_db.mysql)
* installation of the fastcgi module for Apache is optional. This enables the
execution of a resident CGI server for Sympa, and it is strongly recommended
for good performances.
Sympa’s distribution contains a “wizard” which generates the
first configuration files (sympa.conf and wwsympa.conf). Creating lists is then
possible from the web interface. Afterwards updating Sympa is very simple.
Mailman, being a GNU project, is very well-known ; it is even included in Linux Red Hat. It has been chosen by many sites where getting a standard mailing-list manager running quickly was a priority. However it appears to be less suitable when dealing with a larger site (more lists, large number of owners/moderators, exploitation of SQL/LDAP type sources of data, lists numbering more than 10 000 members, list portal.)
Conversely, Sympa’s functional versatility makes it more difficult to
install and set-up. However, given its architecture allowing maximal delegation,
the possibilities it offers for customisation and growth, it presently remains
the best solution to build a list server for professional delivery such as FTPress’s.
Address :
The Sympa website
The Mailman website