[Mailman-Users] Digest options -> list configuration

Mark Sapiro mark at msapiro.net
Thu Aug 7 01:43:08 CEST 2008


Alan.Rubin at nt.gov.au wrote:
>
>So, if digest_send_periodic is No (so that digests are not sent every day as
>indicated by the default senddigests cron entry), senddigests will not force the
>list to send a new digest even with the -l option?


Correct.


>If you host many lists and
>one list/customer wants messages sent only on a specific schedule, and you don't
>want to degrade the ability for the entire list server, then the only real
>option is to cook up some recipe which keeps mail intended for the list in a
>separate queue and only gets added to the list at the time that you want a
>digest created and sent?


There are other ways to address this. See below.


>To be more specific about my scenario, we are attempting to migrate from
>Majordomo to Mailman.  We have a list that sends out change control
>notifications on a twice weekly basis.  In the majordomo configuration,
>individual messages are collected in a work folder and when a Perl script called
>'digests', written for majordomo, is run from cron, the messages in the work
>folder are gathered into a single digest message and sent to the list
>subscribers.
>
>Perhaps I am taking the wrong approach with Mailman?  Is there another way to
>deliver a similar service without cooking up my own scheme, or has someone
>already contributed such a tool/scheme?


Here are a couple of possible approaches.

First the kludgy approach.

Set the crontab to run a script instead of cron/senddigests.

The script would be something like (warning! may have syntax errors)

#!/bin/sh
prefix=/path/to/mailman
special=the_special_listname
for list in `$prefix/bin/list_lists --bare`; do
  if [[ $list != $special ]] ; then
    $prefix/cron/senddigests -l $list
  fi
done

Then have a separate crontab entry to run
   cron/senddigests -l the_special_listname

The more elegant IMO approach.

Set the list in question digest_send_periodic = No

Copy cron/senddigests to cron/senddigests2 or whatever name you like
and make sure the copy is chmod +x

Change line 85 in the copy from

        if mlist.digest_send_periodic:

to

        if True:

Then add a separate crontab entry to run
   cron/senddigests2 -l the_special_listname

-- 
Mark Sapiro <mark at msapiro.net>        The highway is for gamblers,
San Francisco Bay Area, California    better use your sense - B. Dylan



More information about the Mailman-Users mailing list