Plugins
Starting version 6.2, you can add plusings to Sympa.
The full list of currently available plugins can be found here: template plugins list.
Contribs
You may become a contributor :how to contribute to Sympa
Moderation reminder
Benoît Marchal produced a script to remind users that messages are awainting modeartion and / or authentification.
This is usefull to prevent overbooked moderators from forgetting messages in your spools.
Two warnings:
- the script contains, at the beginning, hard-coded values (directories and names) that you should edit to match you own server,
- the script is in French and will send messages in French. You should translate it if you wish to use another language.
Download the script: rappelcle.pl
Steve's Add-ons
Steve Shipway is very active in the Sympa community. He wrote a bunch of add-ons to Sympa. On of them is allowing mail trecking based on the merge feature. The other one is enabling white/black listing in mailng lists.
You can find all these add-ons on Steve's web site.
PgSQL upgrade
Here is a query that eases migration from 5.0 to 6.1.17:
upgrade_db_pgsql_5.0_to_6.1.17.sql.txt
Many thanks to R. boufenghour (Linagora) for this contribution!
css, customized templates, etc
Do you want to win a Sympa tee shirt ? Add your CSS, customized templates or colors proposition in the customize section.
Easy configuration for Postfix
B. Roucaries wrote this script that makes using postfix with Sympa easy.
Install this file as /var/lib/sympa/bin/postfix-to-sympa.pl.
It will replace any configuration.
On the sympa side we should ask to not generate alias (by setting the alias_manager
parameter value to /bin/true
) and it will automagically configure.
To configure a virtual domain (lists.example.com) to connect to sympa, edit Postfix thusly:
/etc/postfix/main.cf
relay_domains = ... lists.example.com transport_maps = hash:/etc/postfix/transport sympa_destination_recipient_limit = 1
/etc/postfix/master.cf
sympa unix - n n - - pipe flags=FR user=sympa argv=/var/lib/sympa/bin/postfix-to-sympa.pl ${nexthop} ${mailbox}
/etc/postfix/transport
lists.example.com sympa:
Note that (root|postmaster|abuse|mailer-daemon|sympa-request|sympa-owner|listowner)@lists.exemple.com are redirected to listmaster@exemple.com.
Migrations and archives
We received a lot of contribs related to migration and:or archives. Please browse the section of the contribs repository dedicated to migration and archives.
Mail to News gateway
Marco has provided a script that wraps around Sympa's mhonarc call to do a mail→news gateway.
* Download
Making many lists using LDAP and Sympa instanciation - March 2007
This document describe how to make/update lists automatically from an LDAP directory. This is use for making/updating students lists in a university environnement, but can easily be adpated to others. Two files are availables :
- Odf document (in French, ask for english version) describing the way to proceed : :contribs:students_lists_instanciation.odt
- Shell script use to forge the XML file of Sympa instanciation : :contribs:create_xml.sh.txt
LemonLDAP plugin - December 2006
LemonLDAP is a Single Sign-On system.
The authentication module for Sympa :
Reset of traffic lists statistics - January 2007
By using this small shell script you can (re)set to zero the trafic statistics (i.e : the number of emails send to the list) of all the lists of a sympa server. To do that, you must :
- Be 'root' or 'sympa' user
- Run the script in the home directory of sympa (near the list_data directory)
- Download script : :contribs:reset-trafic.sh.txt
- Discuss about it : Jean-Hugues Belpois
Statistics module for Sympa - June 2006
This plugin for Munin, collects statistics about the spools of Sympa :
sympa-milter - November 2006
This milter checks each (enveloppe) recipient to see if it's one of the lists managed by Sympa, and if it finds any, it adds a header X-Sympa-RCPT
to the message. This header allows Sympa to retrieve full original recipient information including “plussed” addresses, before any rewriting done by sendmail.
LDAP based alias management
This contrib replace it for ldap based alias management. It is now distributed with Sympa, starting with Sympa 5.2. Read comment from Ludovic
Coupling Sympa and DokuWiki
Apache::authSympa authentication/authorization module
The goal is to control access to some resources using subscribers definition for a particular list.
Uportal Sympa chanel
A soap client to be included in u-portal product (need sympasoap.pl). It use SSO authentication based on CAS proxy credential.
dumping subscribers data
The script extracts data from sympa, and either prints a list of email addresses to STDOUT, outputs a comma-delimited file with the fields you want, or maps the data to a database of your choice (postgres or mysql), and INSERTS lines. (no update yet)
PHP SOAP Library
This script, based on the SOAP extension of PHP 5, allows using the Sympa SOAP interface.
Ruby SOAP Library
a ruby Sympa soap interface from Daniel Berger
How to share Sympa Session with other PHP applications
I put together to enable an existing PHP application to set Sympa's session cookie. Obviously all the authentication logic is handled by the PHP app. Once that is satisfied that the user should be authenticated to sympa it can use this class to make the appropriate updates to sympa's session_table, then set a cookie:
include ('SympaSession.php'); $ss = new SympaSession($email); $sympa_session_id = $ss->getid(); setcookie("sympa_session", $sympa_session_id, 0, '/', $sympa_session_domain, FALSE);
It suits my purposes, but is not hugely flexible. See it as an example to be modified, not a fully tested and guaranteed working class.
download SympaSession.php.tar.gz
a custom archiver engine based on a database
Starting with Sympa 6, mhonarc can be replaced by some other archiver engine. Here is one based on MySQL, it may use as an example for any other. The program is plugued in Sympa by editing wwsympa.conf to add the custom_archiver parameter with the path of this program asx parameter.
reporting spam plugin for Sympa
Starting in version 6.2, Sympa moderatition allow list moderator to report undetected spam message that are waiting in moderation spool. When choosing this option, messages are rejected without notification but in addition, the related message as stored by Sympa is flushed in the standrd input of an external script. This pluggin script can be designed in order to transfert the message to the appropriate location preserving headers. See reporting_spam_script_path robot parameter.
The following tar includes 2 perl scripts as example of such plugin.
- one send a message using “Abuse Report Format”
- one push the spam mesage to an imap folder (probably a very simple solution to collect spam preserving headers)
sympa_menu.pl (listcreatemodify)
Script to assist with list family modifications and to automate some features:
- Create a new list
- Add a new list to an existing family
- Instantiate a new family, or update changed settings on a family
- Remove a list, keeping an archive
- Remove a list completely
- Automate customization of footer
List vacation message
Uses a CustomCondition
to send a vacation message when in date range.