[comp.sources.misc] Batching news for mailing

hyc@umix.UUCP (Howard Chu) (07/28/87)

I was recently faced with the problem of supplying Usenet articles
to hosts without access to uucp or nntp, only mail. I set up a mailing
list to send to, and to keep from having to send zillions of tiny
messages, I set it up using the batching mechanism of news. Anyway,
I wrote up a little script to collect the batched news and mail it out
in the form of an ARPAnet digest, and thought it might be useful enough
to share with the world... [I sure wish the Info-Apple moderator would
do something like this. 50 messages a day from that list is getting to
be a pain...   }-)  ]

So, I hereby present 'batchmail', a script to send batched news via
mail... By the way, I've only used this on our Vax 750 w/news 2.11
running on 4.3 BSD. My sample use required the following changes to
get going -
  In the news sys file:
mts-info-minix:world,comp.os.minix:F:/usr/spool/batch/mts-minix
  In /usr/lib/crontab.local
37 3 * * * usenet /usr/new/lib/news/batchmail mts-minix comp.os.minix info-minix@um.cc.umich.edu

Hope it's useful to some other news administrators out there...

######## Cut here and save #######
#!/bin/sh
#
#	batchmail - written to work with news 2.11...
#	Script to read messages batched by news and concatenate them into
#	a digest-format suitable for Internet mailings... Send patches to
#	hyc@umix.cc.umich.edu, or seismo!umix!hyc
#
#	For each newsgroup to be mailed, add a line of the following format
#	to your sys file:
#		<bogus-host>:<distribution [,distribution...]>, <newsgroup>:F:<batchfile>
#
#	and a line to crontab (or crontab.local...) like:
#		<time> usenet /usr/new/lib/news/batchmail <batchfile> <newsgroup> <mail-destination>
#
batchdir=/usr/spool/batch/
batchfile=${batchdir}$1
if test -s $batchfile
then
	flist=`cat $batchfile`
	rm -f $batchfile
	h=/tmp/mtshead.$$
	n=/tmp/mtsnews.$$
	echo " " > $h
	echo "Today's Subjects:" >> $h
	for i in $flist 
	do 
		fgrep '^Subject:' $i | sed -e 's/^Subject: /	/' >> $h
		echo '-=-=-=-=-=-=-=-=-=-=-=-' >> $n
		cat $i | sed >> $n \
			-e '/^Path: / d'	\
			-e '/^Newsgroups: / d'	\
			-e '/^Message-ID: /d'	\
			-e '/^Sender: /d'	\
			-e '/^Keywords: /d'	\
			-e '/^References: /d'	\
			-e '/^Xref: /d'		\
			-e '/^Lines: /d'
	done
	cat $h $n | /usr/ucb/mail -s "Digest of $2" $3
#	cat $h $n ; echo "Digest of $2" $3
	rm -f $h $n
fi
-- 
  -- Howard Chu
UUCP:	...!seismo!umix!hyc
ARPA:	hyc@umix.cc.umich.edu