ezmlm-tstdig reads files in the list directory dir and determines if any of the criteria specified by the options are met. If they are, or if all options specified are 0, ezmlm-tstdig exits with success (0). Otherwise, ezmlm-tstdig exits (99), or in case of errors, (100) for permanent and (111) for temporary errors.
The normal use of ezmlm-tstdig is to place it in a script so that ezmlm-get(1) is executed if ezmlm-tstdig exits 0, but skipped otherwise.
ezmlm-tstdig uses LOCAL to adapt its behavior so that it can be used from the command line, a script, or from within dir/editor, or dir/manager. If invoked from dir/editor, the ezmlm-tstdig line should end in '|| exit 99'. When used here, ezmlm-tstdig if digest generation criteria are met tests a timestamp in dir/tstdig. If dir/tstdig is more than 1 hour old or a digest has been successfully created since dir/tstdig was written, ezmlm-tstdig will set the timestamp to the current time and exit 0. Otherwise it will exit 99. This is to guard against initiating duplicate digests when messages arrive while digesting is in progress.
#!/bin/sh #usage: script dir diglist@host #digest if > 64 kbytes message bodies, # > 30 messages, or # > 48 hours since last digest. # ezmlm bin path - modify for your setup EZPATH='/usr/local/bin/ezmlm' EZTST="${EZPATH}/ezmlm-tstdig" EZGET="${EZPATH}/ezmlm-get" ${EZTST} -k64 -m30 -t48 "$1" || exit 0 ${EZGET} -t "'$2'" "'$1'" < /dev/null # improve by testing exit status