2.3 KiB

Extra Mailman Archivers

This contains some extra archivers to be used with Mailman 3. Currently there are two archivers, MonthlyArchiver, and Pipermail.


Make sure to have the following packages installed first:

apt install python3-pip python3-setuptools python3-wheel


pip3 install .


MonthlyArchiver simply gzips each message and stores it in a folder named by the year and month. Each message's file name is a Unix epoch timestamp.

The motivation behind MonthlyArchiver was to avoid storing thousands of messages in a single directory, which the Prototype archiver currently does since it uses a maildir.

Example directory structure:

\_ monthly_archiver
   \_ mylist@mydomain.com
      \_ 2021-April
         \_ 1617678398.173.mail.gz
         \_ 1617678805.351.mail.gz
      \_ 2021-May
         \_ ...

To enable this archiver, add the following to your mailman.cfg:

class: extra_mailman_archivers.monthly_archiver.MonthlyArchiver
enable: yes


This archiver attempts to add messages to Pipermail, the archiver for Mailman 2. An existing Mailman 2 installation is required.

If the mailing list does not exist in the Mailman 2 directory, you must create it first. Use the newlist-pipermail script in the pipermail directory after copying it to the bin directory where Mailman 2 is installed. It works the same way as the traditional newlist script except that it does not communicate with the MTA. Note: by default, this will create a public archive; to make it private, unlink the appropriate folder in the archives/public directory where Mailman 2 is installed.

To enable this archiver, add the following to your mailman.cfg:

class: extra_mailman_archivers.pipermail.Pipermail
enable: yes

The default list URL for this archiver is http://$domain/pipermail/$short_listname. The default Mailman 2 directory is /var/lib/mailman. To change either of these values, add the following to the pipermail section in mailman.cfg:

configuration: /etc/mailman3/mailman-pipermail.cfg

Then, in /etc/mailman3/mailman-pipermail.cfg, set base_url and/or mailman2_dir appropriately, e.g.

base_url: http://$domain/old/pipermail/$short_listname