From cbosg!ucbvax!decvax!ittvax!swatt Thu Mar 25 07:06:53 1982 Date: Wed Mar 24 20:29:56 1982 From: cbosg!ucbvax!decvax!ittvax!swatt Subject: sendnewsmail script Via: cbosgd.uucp (V3.73 [1/5/82]); 25-Mar-82 07:06:53-EST (Thu) Mail-From: cbosg received by cbosgd at 25-Mar-82 07:06:51-EST (Thu) To: cbosgd!mark Status: R Mark: I find the following handy as a mail interface to news; you don't have to remake the aliases database everytime a new newsgroup gets formed. - Alan ======================================================================= #! /bin/sh : '/********************************************************************* program: sendnewsmail description: Send news items from mail programmer: Alan S. Watt (ittvax!swatt) Sccsid=@W@ usage: Not invoked by user: called as program mail alias News item title and newsgroup(s) are specified on the mail subject line by: Subj: : ... Several (blank separated) newsgroups may be specified; the news article will be submitted to each. There is no way to embed a colon character in the title, so there can only be one colon on the subject line. arguments: None notes: To install this, put it someplace safe from system updates (I use /usr/lib/news), and put an alias in the system mail alias file (/usr/lib/aliases) that names this program as the alias for the use "news": news:"|/usr/lib/news/sendnewsmail" history: 11/11/81 original version 11/19/81 fixed to properly handle default newsgroup 03/13/82 changes to work with "B" netnews 03/35/82 Modest documentation changes *********************************************************************/' PROGRAM_NAME='sendnewsmail' VERSION_NUMBER='@I@' TOOL_LOG='/usr/advanced/logs/testlog' USAGE='mail news' : 'mail alias program to send news items through mail(1)' : 'need to get newsgroup and title from subject line' tempf=/tmp/news$$.tmp errorf=/tmp/news$$.err : 'copy standard input to a temporary file' cat >$tempf : 'read the message and grab title and newsgroups from the Subject line. Grab the sender from the From line. Header ends on first blank line (/^$/). ' eval `sed -n ' /^Subj/ { s/^Subj[^ :]*[ :] *\([^:]*\):\(.*\)/title="\1";newsgroup="\2"/p s/^Subj[^ :]*[ :] *\([^:]*\)$/title="\1"/p } /^From/ { s/^[fF]rom[: ] *\([^ ]*\).*/sender="\1"/p } /^$/ { b done } : done ' $tempf` : 'default newsgroup to "general" if unspecified' case $newsgroup in '') newsgroup=general ;; esac : 'make up something if the title unspecified' case $title in '') title="News from mail" ;; esac : 'Submit the article to news' if sed "1,/^$/d" $tempf | inews -t "$title" -n $newsgroup >$errorf 2>&1 then : 'OK exit, do nothing' else : 'On errors, return article together with error messages to user' : 'Change this line if your mailer does not have a -s flag' mail -s 'Rejected News Article' $sender <