Next: 2. what does Sympa consist of Up: Sympa Mailing Lists Management Software version Previous: Contents Contents Index
Subsections

- 1.1 License
- 1.2 Features
- 1.3 Project directions
- 1.4 History
- 1.5 Authors and credits
- 1.6 Mailing lists and support

# 1. Presentation

Sympa is an electronic mailing list manager. It is used to automate list management functions such as subscription, moderation, archive and shared document management. It also includes management functions which would normally require a substantial amount of work (time-consuming and costly for the list owner). These functions include automatic management of subscription renewals, list maintenance, and many others.

Sympa manages many different kinds of lists. It includes a web interface for all list functions including management. It allows a precise definition of each list feature, such as sender authorization, the moderating process, etc. Sympa defines, for each feature of each list, exactly who is authorized to perform the relevant operations, along with the authentication method to be used. Currently, authentication can be based on either an SMTP From header, a password, or an S/MIME signature.
Sympa is also able to extract electronic addresses from an LDAP directory or SQL server, and include them dynamically in a list.

Sympa manages the dispatching of messages, and makes it possible to reduce the load on the computer system where it is installed. In configurations with sufficient memory, Sympa is especially well adapted to handling large lists: for a list of 20,000 subscribers, it requires less than 6 minutes to send a message to 95 percent of the subscribers, assuming that the network is available (tested on a 300 MHz, 256 MB i386 server with Linux).

This guide covers the installation, configuration and management of the current release (4.1) of sympa.

# 1.1 License

Sympa is free software; you may distribute it under the terms of the GNU General Public License Version 2

You may make and give away verbatim copies of the source form of this package without restriction, provided that you duplicate all of the original copyright notices and associated disclaimers.

# 1.2 Features

Sympa provides all the basic features that any mailing list management robot should include. While most Sympa features have their equivalents in other mailing list applications, Sympa is unique in including features in a single software package, including:

- High speed distribution processing and load control. Sympa can be tuned to allow the system administrator to control the amount of computer resources used. Its optimized algorithm allows:

  - the use of your preferred SMTP engine, e.g. `sendmail`, `qmail` or `postfix`

  - tuning of the maximum number of SMTP child processes

  - grouping of messages according to recipients' domains, and tuning of the grouping factor

  - detailed logging

- Multilingual messages. The current version of Sympa allows the administrator to choose the language catalog at run time. At the present time the Sympa robot is available in Chinese, Czech, English, Finnish, French, German, Hungarian, Italian, Polish, Portuguese, Spanish, Romanian. The web interface is available in English, Spanish, French, Chinese, Czech, Hungarian, Italian.

- MIME support. Sympa naturally respects MIME in the distribution process, and in addition allows list owners to configure their lists with welcome, goodbye and other predefined messages using complex MIME structures. For example, a welcome message can be in multipart/alternative format, using text/html, audio/x-wav :-), or whatever (Note that Sympa commands in multipart messages are successfully processed, provided that one part is text/plain ).

- The sending process is controlled on a per-list basis. The list definition allows a number of different actions for each incoming message. A `private` list is a list where only subscribers can send messages. A list configured using `privateoreditorkey` mode accepts incoming messages from subscribers, but will forward any other (i.e. non-subscriber) message to the editor with a one-time secret numeric key that will be used by the editor to reject or distribute it. For details about the different sending modes, refer to the `send` parameter (15.3.8, page ). The sending process configuration (as well as most other list operations) is defined using an authorization scenario. Any listmaster can define new authorization scenarios in order to complement the 20 predefined configurations included in the distribution.
  Example : forward multipart messages to the list editor, while distributing others without requiring any further authorization.

- Privileged operations can be performed by list editors or list owners (or any other user category), as defined in the list `config` file or by the robot administrator, the listmaster, defined in the `/etc/sympa.conf` global configuration file (listmaster can also be defined for a particular virtual robot). Privileged operations include the usual `ADD`, `DELETE` or `REVIEW` commands, which can be authenticated via a one-time password or an S/MIME signature. Any list owner using the `EXPIRE` command can require the renewal of subscriptions. This is made possible by the presence of a subscription date stored in the Sympa database.

- textbf Web interface : WWSympa is a global Web interface to all Sympa functions (including administration). It provides :

  - classification of lists, along with a search index

  - access control to all functions, including the list of lists (which makes WWSympa particularly well suited to be the main groupware tool within an intranet)

  - management of shared documents (download, upload, specific access control for each document)

  - an HTML document presenting each user with the list of her current subscriptions, including access to archives, and subscription options

  - management tools for list managers (bounce processing, changing of list parameters, moderating incoming messages)

  - tools for the robot administrator (list creation, global robot configuration)

  (See 7.1, page )

- RDBMS : the internal subscriber data structure can be stored in a database or, for compatibility with versions 1.x, in text files. The introduction of databases came out of the WWSympa project. The database ensures a secure access to shared data. The PERL database API `DBI`/`DBD` enables interoperability with various RDBMS (MySQL, PostgreSQL, Oracle, Sybase). (See ref sec-rdbms, page )

- Virtual robots : a single Sympa installation can provide multiple virtual robots with both email and web interface customization (See 11, page ).

- LDAP-based mailing lists : e-mail addresses can be retrieved dynamically from a database accepting SQL queries, or from an LDAP directory. In the interest of reasonable response times, Sympa retains the data source in an internal cache controlled by a TTL (Time To Live) parameter. (See ref include-ldap-query, page )

- LDAP authentication: via uid and emails stored in LDAP Directories. Alternative email addresses, extracted from LDAP directory, may be used to "unify" subscriptions. (See ref ldap-auth, page )

- Antivirus scanner : Sympa extracts attachements from incoming messages and run a virus scanner on them. Curently working with McAfee/uvscan, Fsecure/fsav, Sophos, AVP, Trend Micro/VirusWall and Clam Antivirus. (See ref antivirus, page )

- Inclusion of the subscribers of one list among the subscribers of another. This is real inclusion, not the dirty, multi-level cascading one might otherwise obtain by simply "subscribing list B to list A".

# 1.3 Project directions

Sympa is a very active project : check the release note release note. So it is no longer possible to maintain multiple document about Sympa project direction. Please refer to in-the-futur document for information about project direction.

# 1.4 History

Sympa development started from scratch in 1995. The goal was to ensure continuity with the TULP list manager, produced partly by the initial author of Sympa: Christophe Wolfhugel.

New features were required, which the TULP code was just not up to handling. The initial version of Sympa brought authentication, the flexible management of commands, high performances in internal data access, and object oriented code for easy code maintenance.

It took nearly two years to produce the first market releases.

Other date :

- Mar 1999 Internal use of a database (Mysql), definition of list subscriber with external datasource (RDBMS or LDAP).
- Oct 1999 Stable version of WWsympa, introduction of authorization scenarios.
- Feb 2000 Web bounces management
- Apr 2000 Archives search engine and message removal
- May 2000 List creation feature from the web
- Jan 2001 Support for S/MIME (signing and encryption), list setup through the web interface, Shared document repository for each list. Full rewrite of HTML look and feel
- Jun 2001 Auto-install of aliases at list creation time, antivirus scanner plugging
- Jan 2002 Virtual robot, LDAP authentication

# 1.5 Authors and credits

Christophe Wolfhugel is the author of the first beta version of Sympa. He developed it while working for the Institut Pasteur.

Later developments have mainly been driven by the Comité Réseaux des Universités (Olivier Salaün and Serge Aumont), who look after a large mailing list service.

Our thanks to all contributors, including:

- Pierre David, who in addition to his help and suggestions in developing the code, participated more than actively in producing this manual.

- David Lewis who corrected this documentation

- Philippe Rivière for his persevering in tuning Sympa for Postfix.

- Raphaël Hertzog (debian), Jerome Marant (debian) and Stéphane Poirey (redhat) for Linux packages.

- Loic Dachary for guiding us through the GNU Coding Standards

- Vincent Mathieu, Lynda Amadouche, John Dalbec for their integration of LDAP features in Sympa.

- Olivier Lacroix, for all his perseverance in bug fixing.

- Hubert Ulliac for search in archive base on marcsearch.pm

- Florent Guilleux who wrote the Task Manager

- Nadia Euzen for developping the antivirus scanner pluggin.

- Fabien Marquois, who introduced many new features such as the digest.

- Valics Lehel, for his Romanian translations

- Vizi Szilard for his Hungarian translations

- Petr Prazak for his Czech translations

- Rodrigo Filgueira Prates for his Portuguese translations

- Lukasz Zalubski for his Polish translations

- Alex Nappa and Josep Roman for their Spanish translations

- Carsten Clasohm and Jens-Uwe Gaspar for their German translations

- Marco Ferrante for his Italian translations

- Tung Siu Fai, Wang Jian and Autrijus Tang for their Chinese translations

- and also: Manuel Valente, Dominique Rousseau, Laurent Ghys, Francois Petillon, Guy Brand, Jean Brange, Fabrice Gaillard, Hervé Maza, Harald Wilhelmi,

- Anonymous critics who never missed a chance to remind us that smartlist already did all that better.

- All contributors and beta-testers cited in the `RELEASE_NOTES` file, who, by serving as guinea pigs and being the first to use it, made it possible to quickly and efficiently debug the Sympa software.

- Ollivier Robert, Usenet Canal Historique and the good manners guru in the PERL program.

- Bernard Barbier, without whom Sympa would not have a name.

We ask all those we have forgotten to thank to accept our apologies and to let us know, so that we can correct this error in future releases of this documentation.

#
1.6 Mailing lists and support

If you wish to contact the authors of Sympa, please use the address `sympa-authorscru.fr`.

There are also a few mailing-lists about Sympa :

- `sympa-userscru.fr` general info list

- `sympa-frcru.fr`, for French-speaking users

- `sympa-announcecru.fr`, Sympa announcements

- `sympa-devcru.fr`, Sympa developers

- `sympa-translationcru.fr`, Sympa translators

To join, send the following message to `sympacru.fr`:

> `subscribe` Listname Firstname Name

(replace Listname, Firstname and Name by the list name, your first name and your family name).

You may also consult the Sympa home page, you will find the latest version, FAQ and so on.

Next: 2. what does Sympa consist of Up: Sympa Mailing Lists Management Software version Previous: Contents Contents Index