here are the main steps i followed to make a digest list for a regular
majordomo mailing list i've already set up. the instructions here work
with majordomo 1.94.3. here is an imaginary list called 'test', which i
want to digest-ify.
NOTE: permissions are pretty important here. make sure that the
directories and files you make are at least owned by your majordomo user,
and the group owner is 'daemon' (or your OS's equivalent). look at the
rest of your existing majordomo setup (assuming you have it working
properly) to see what the majority of the files are owned/groupowned by.
i normally make such files/directories 'chmod 750', since normal users
with accounts on the system tend to be nosy, the daemon group needs read
access to a lot of files/directories, and majordomo itself needs to be
able to read/write to the files/directories.
'~majordomo' is of course where your majordomo is installed to.
'/usr/home/major' is the directory i use in my example.
1. fill in some entries in ~majordomo/majordomo.cf. examples:
~majordomo/majordomo.cf:
-----
$digest_work_dir = "$homedir/digest.work";
$filedir = "$homedir/archives";
$filedir_suffix = ".archive";
-----
- '$digest_work_dir' is where it will build the digests. each
list gets its own directory. the list 'test' would normally get a
directory 'test-digest', giving you
'~majordomo/digest.work/test-digest'.
- '$filedir' is the directory where mail will get archived. i'm
not sure if you NEED to have this defined for digests to work, but they
suggest it. shrug.
- '$filedir_suffix' is just a way to tell majordomo which
directory under '$filedir' is for archives of a particular list.
using the example you'll have the directory
'~majordomo/archives/test-digest.archive'.
2. fill in some entries in the config file for your DIGEST list,
not the regular list. if your regular list is 'test', and the
name you gave your digest of test is 'test-digest', then you'd
configure a section of 'test-digest.config'. examples:
test-digest.config:
-----
digest_issue = 1
digest_maxdays = 1
digest_maxlines = 100
digest_name = test-digest
digest_volume = 1
-----
- the issue normally starts at 1. it is incremented automatically by
majordomo and the digest program.
- the maxdays is the number of days the digest program will
automatically collect mail before packing it all up and sending it as a
digest.
- the maxlines entry means how many lines of email the digest will
collect before automatically packing it all up and sending it as a
digest. NOTE: if either of the 'digest_maxlines' or
'digest_maxdays'
conditions is met, the digest program will make the digest and send it.
- the name entry is simply the name of the digest. i found if you
change this from the actual filename of the digest (say,
't-digest' instead of 'test-digest') that digesting doesn't
work, so make sure they match.
- the digest volume usually is started at 1. the software does NOT
automatically increment this number, you will have to modify this
yourself if/when you want it to report a new volume number.
3. make a directory under your work digest directory called
'test-digest'. using our example, this would be
'~majordomo/digest.work/test-digest'.
4. make a directory under your 'archives' directory called
'test-digest.archive'. using our example, this would be
'~majordomo/archives/test-digest.archive'.
5. make the alias set, example set below.
NOTE: i think every single one of these aliases is necessary.
obviously, my comments should be commented out if you add them in with
the normal aliases in your aliases file (usually /etc/aliases). make
sure you don't copy&paste these entries straight out of this text file --
you shouldn't use whitespace (spaces) in email config files, use TABs
instead.
test: "|/usr/home/major/wrapper resend -l test test-outgoing"
the original 'test' mailing list alias.
test-outgoing: :include:/usr/home/major/lists/test, "|/usr/home/major/wrapper digest -r -C -l test-digest test-digest-outgoing"
the outgoing alias. mail to 'test@domain.com' will be sent out to
the
list (test), plus it will be sent to the 'digest' program. this
writes
the email to a file instead of performing the re-mailing that 'test'
normally would. when the conditions in test-digest.config have been met,
a digest is automatically made out of all the saved messages.
owner-test: yossman
who owns the list (for people mailing back with questions). NOTE:
every place it says 'yossman' here, you can put a full email
address if you want to. i just use yossman because my email
administration account is actually on the local system.
test-owner: yossman
who owns the list (for people mailing back with questions).
test-request: "|/usr/home/major/wrapper majordomo -l test"
for people subscribing to the original list 'test'.
test-approval: yossman
to allow posts and/or to allow people to subscribe, depending how you
have the list set up.
owner-test-outgoing: yossman
again, who owns the digest list for people mailing back with questions.
test-digest: test
mail sent to 'test-digest', which is our digested form of the
list,
shouldn't go out to the test-digest list, it should be sent to the
regular test list for normal redistribution. the test-outgoing alias we
made will look after re-saving the email to be sent out with the next
digest.
test-digest-outgoing: :include:/usr/home/major/lists/test-digest
when the digest is ready, send it to this subscription list
'test-digest' instead of 'test'.
owner-test-digest: yossman
who owns the test-digest.
owner-test-digest-outgoing: yossman
who owns the test-digest.
test-digest-request: "|/usr/home/major/wrapper majordomo -l test-digest"
to subscribe to the digest form of the list.
test-digest-approval: test-approval
who approves the subscription (usually the same person who runs the
original non-digested list).
here's the exact same alias list again in condensed format for easier
configuration reading. you may want to use TABs instead of spaces when
you write these into your alias list to make things even and to limit the
amount of 'whitespace' in your alias listings.
/etc/aliases:
-----
test: "|/usr/home/major/wrapper resend -l test test-outgoing"
test-outgoing: :include:/usr/home/major/lists/test, "|/usr/home/major/wrapper digest -r -C -l test-digest test-digest-outgoing"
owner-test: yossman
test-owner: yossman
test-request: "|/usr/home/major/wrapper majordomo -l test"
test-approval: yossman
owner-test-outgoing: yossman
test-digest: test
test-digest-outgoing: :include:/usr/home/major/lists/test-digest
owner-test-digest: yossman
owner-test-digest-outgoing: yossman
test-digest-request: "|/usr/home/major/wrapper majordomo -l test-digest"
test-digest-approval: test-approval
-----
please do not email me with questions about the majordomo software in
general or list setup, i just don't have the time for it and there are
much better-informed places to get information. this setup works for me;
if it works for you, awesome. if you see something wrong here that you
think should be corrected, please email me.
i encourage you to do a little futzing around with this setup, and to
read your majordomo manual and various FAQs that you got with the
distribution when you set up majordomo. the most current documentation
will normally be at http://www.greatcircle.com/, along
with the most current version of majordomo. if you do not have web
access, try subscribing to the majordomo-users mailing list run by great
circle. send email to 'majordomo@greatcircle.com',
with just
'subscribe majordomo-users' in the body of the email.