HOWTO - Migrate from LISTSERV to Mailman

LISTSERV is a mailing list manager developed and sold by L-Soft. It is probably also some trademark of theirs. Mailman is a free (as in GPL) mailing list manager which can be obtained from the Mailman home page.

Index

Scope of this document

This document describes some problems and (partial) solutions when migrating from the LISTSERV mailing list manager to the Mailman mailing list manager. This document does NOT give general information on how to set up either LISTSERV or Mailman maling lists please go to the Mailman home page for information on the latter and to the L-Soft home page for the former.

Migrating list settings

There is a pretty good mapping of ListServ to Mailman options on the MIT Mailman page. Look especially for the keyword mapping and a comparison of list options. It should not be hard to write a small script to convert the most common options. If you do, please send me a copy. If have written a small Python script ls2mm.py which tries to get a subscriber list from the LISTSERV index files.

Migrating list archives

I have written a small Python script lsa2mma.py which tries to convert VM mailbox format (which is used by LISTSERV) into mbox format (which is used by Mailman). Assume your LISTSERV archives are in /usr/local/httpd/html/archives, your Mailman is installed in /usr/local/mailman, and and you want to migrate the list mylist. Then the following bash script should accomplish this:
#!/bin/bash
LSA_HOME=/usr/local/httpd/html/archives
MM_HOME=/usr/local/mailman
MMA_HOME=$MM_HOME/archives/private
LISTNAME=mylist

cat $LSA_HOME/$LISTNAME/$LISTNAME.log* > /tmp/$LISTNAME.vmb
lsa2mma.py /tmp/$LISTNAME.vmb > /tmp/$LISTNAME.mbox
mv /tmp/$LISTNAME.mbox $MMA_HOME/$LISTNAME/$LISTNAME.mbox/$LISTNAME.mbox
$MM_HOME/bin/arch --wipe $LISTNAME
   
Note that you need to create the mailing list first. Note also, that with the current script threads are not properly recovered. Note furtheron that using --wipe will clean out the archive contents of the given list. If you just want to add the old archives leave it out. The VM mailbox format is a concatenation of mails which are prefixed by a single line consisting of 73 equal signs (=). The mbox format is a concatenation of raw mails. It is important (at least for Mailman's bin/arch import) that the mails start with a line like From name@host.domain Fri Jun 19 19:47:52 2004".

Parallel use of two list managers

There are no problems using LISTSERV and Mailman in parallel as long as your alias file (typically /etc/aliases) is administrated by hand.

Final words

If you are aware of better solutions for some of the problems above or you spotted some mistake, I will be very glad to hear from you. Just send a mail to <psk at informatik.rwth-aachen.de>. Finally, I would like to thank the mailman community for great (though somewhat scattered) documentation and prompt and helpful email support. Special thanks go to Brad Knowles.