==================================================== Sietima, a mailing list manager construction toolkit ==================================================== :CreationDate: 2016-08-29 12:20:04 :Id: SW/Sietima :tags: - perl - software What is it ========== Sietima is a mailing list manager construction toolkit, written in Perl 5. It's an exercise in modularity, a showcase of the latest features of Perl 5, and an actually usable mailing list manager. History ======= Once upon a time, there was a mailing list manager called Siesta, written by Richard Clamp, Greg McCarrol and Simon Winstow. You can still look at the `Subversion repository`_, `development mailing list archives`_, `the slides of the talk Richard gave`_ at `YAPC::EU 2003`_, and `the full history as written by Simon`_. It is completely plugin-driven, and has per-user configuration. I still run a few lists on Siesta. Fast forward 13 years: Perl and CPAN have come a long way. Can we write a better list manager now? How hard can it be? That's why I started writing Sietima. Construction toolkit? ===================== Sietima provides a bunch of modules you can plug together to make your ideal mlm. Writing new plugins to add features should be as easy as possible. It is currently not a "just works" application, although the repository includes an `example application`_ that works. Is it production-ready? ======================= Yes! I'm using Sietima to run three mailing lists on this domain. Since I use ``qmail``, I have the following configuration: - ``/var/qmail/users/assign`` contains lines like:: +the-list:mailinglists:1016:1004:/var/qmail/mailinglists/:-:the-list: so messages sent to ``the-list@thenautilus.net`` (and all addresses of the form ``the-list-*@thenautilus.net``) are routed to the ``mailinglists`` user - ``/var/qmail/mailinglists/.qmail-the-list`` is:: |/usr/local/sietima/bin/sietima-the-list send so messages sent to the list go through the list-specific program - ``/var/qmail/mailinglists/.qmail-the-list-bounce`` is:: &dakkar@thenautilus.net so bounces go to me (I haven't written VERP or bounce handler plugins) - ``/usr/local/sietima/bin/sietima-the-list`` looks very much like the `example application`_ Contributing ============ Check out `the source code`_, push your branch somewhere, then `email me about it`_. Or `ask me to give you write access to the repository`_. .. _`Subversion repository`: https://siesta.svn.unixbeard.net/trunk/siesta/ .. _`development mailing list archives`: http://siesta.unixbeard.net/siesta/archive/siesta-dev/lurker_15.html .. _`the slides of the talk Richard gave`: http://unixbeard.net/~richardc/talks/siesta/ .. _`YAPC::EU 2003`: http://conferences.mongueurs.net/ye2003/talk/355 .. _`the full history as written by Simon`: http://www.thegestalt.org/simon/siesta-article.pod .. _`example application`: /cgit/Sietima/tree/example/sietima .. _`the source code`: /cgit/Sietima/ .. _`email me about it`: mailto:dakkar@thenautilus.net?subject=Code%20for%20Sietima .. _`ask me to give you write access to the repository`: mailto:dakkar@thenautilus.net?subject=Please%20allow%20me%20to%20push%20to%20Sietima