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. Mail Server Features

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.


2. Web interface

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. Administrative features

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. Architecture

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.


5. Customisation

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.

6. Installation

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.

7. Conclusion

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