The Courier mail transfer agent (MTA) is an integrated mail/groupware server based on open commodity protocols, such as ESMTP, IMAP, POP3, LDAP, SSL, and HTTP. Courier provides ESMTP, IMAP, POP3, webmail, and mailing list services within a single, consistent, framework. For more information goto http://www.couier-mta.org .

There are also precompiled versions for CentOS 4.3 in my Yum Repository.

Couriermlm

Couriermlm ist the mailing list manager included in the package. couriermlm automatically handles requests to subscribe and unsubscribe list members, detects undeliverable addresses and removes them from the subscription rolls. couriermlm supports digests, write-only posting aliases, and moderated mailing lists.

Languages

Currently couriermlm does not support multiple languages. But its possible to alter the templates for the messages which are sent out in emails. I have done this for the german language. You can download it here: couriermlm-de-0.45-6.tar.bz2 . Its for version courier-0.45-6 and higher. But since the original templates have not changed, it can still be used up to version courier-0.52.2 .

Just copy the files in the "de"-directory of couriermlm-de-0.45-6.tar.bz2 over to the directory where the original templates are installed (usually /usr/lib/courier/share/couriermlm). This means that for every mailing list created with couriermlm create these templates are copied to the list directory.

Web administration

Normally, administration is done with couriermlm in the command line. However with couriermlm you have to switch to the user id under which the list runs, before you can make any changes. This might not be feasible in a situation in which more than one person should have the right to alter the subscriber list or the persons are not familar with command line administration.

For this purpose I have written a small perl cgi script which runs suid (with the same uid as the list). The script is a simple wrapper around the couriermlm-command. It does essentially the following:

You can download it here: cmlm.pl.bz2 .

Screenshots

Login-Screen:

shot_cmlm1.png

Show available lists:

shot_cmlm2.png

Add/delete subscribers:

shot_cmlm3.png

Greylisting

Greylisting is a technique for spam avoidance which takes place at the SMTP level of your mail server. Courier has no builtin support for greylisting, but there exists a filter API for different filter purposes (courierfilter). courier-pythonfilter by Gordon Messner is a python framework for developping courierfilter programs in python.

Based on the pythonfilter script greylist.py from Mik I have written a greylisting implementation with the ideas in Evan Harris whitepaper.

Update: Main parts of this code are now included as "greylist" filter in Gordons pythonfilter distribution (look there). If you want to have a look at my original implementation you can use the wiki history.


CategorySoftware

CourierServer (last edited 2008-01-28 19:27:31 by localhost)