|
|
1.1 ! root 1: From cbosg!ucbvax!decvax!ittvax!swatt Thu Mar 25 07:06:53 1982 ! 2: Date: Wed Mar 24 20:29:56 1982 ! 3: From: cbosg!ucbvax!decvax!ittvax!swatt ! 4: Subject: sendnewsmail script ! 5: Via: cbosgd.uucp (V3.73 [1/5/82]); 25-Mar-82 07:06:53-EST (Thu) ! 6: Mail-From: cbosg received by cbosgd at 25-Mar-82 07:06:51-EST (Thu) ! 7: To: cbosgd!mark ! 8: Status: R ! 9: ! 10: ! 11: Mark: ! 12: ! 13: I find the following handy as a mail interface to news; you don't have ! 14: to remake the aliases database everytime a new newsgroup gets formed. ! 15: ! 16: - Alan ! 17: ======================================================================= ! 18: #! /bin/sh ! 19: : '/********************************************************************* ! 20: program: sendnewsmail ! 21: description: Send news items from mail ! 22: programmer: Alan S. Watt ! 23: (ittvax!swatt) ! 24: ! 25: Sccsid=@W@ ! 26: ! 27: usage: ! 28: Not invoked by user: called as program mail alias ! 29: News item title and newsgroup(s) are specified on the ! 30: mail subject line by: ! 31: ! 32: Subj: <news item title> : <newsgroup> ... ! 33: ! 34: Several (blank separated) newsgroups may be specified; ! 35: the news article will be submitted to each. There is ! 36: no way to embed a colon character in the title, so there ! 37: can only be one colon on the subject line. ! 38: ! 39: arguments: ! 40: None ! 41: ! 42: notes: ! 43: To install this, put it someplace safe from system updates ! 44: (I use /usr/lib/news), and put an alias in the system ! 45: mail alias file (/usr/lib/aliases) that names this program ! 46: as the alias for the use "news": ! 47: ! 48: news:"|/usr/lib/news/sendnewsmail" ! 49: ! 50: history: ! 51: 11/11/81 original version ! 52: 11/19/81 fixed to properly handle default newsgroup ! 53: 03/13/82 changes to work with "B" netnews ! 54: 03/35/82 Modest documentation changes ! 55: *********************************************************************/' ! 56: ! 57: PROGRAM_NAME='sendnewsmail' ! 58: VERSION_NUMBER='@I@' ! 59: TOOL_LOG='/usr/advanced/logs/testlog' ! 60: USAGE='mail news' ! 61: ! 62: ! 63: : 'mail alias program to send news items through mail(1)' ! 64: : 'need to get newsgroup and title from subject line' ! 65: ! 66: tempf=/tmp/news$$.tmp ! 67: errorf=/tmp/news$$.err ! 68: ! 69: : 'copy standard input to a temporary file' ! 70: cat >$tempf ! 71: ! 72: : 'read the message and grab title and newsgroups from the ! 73: Subject line. Grab the sender from the From line. ! 74: Header ends on first blank line (/^$/). ! 75: ' ! 76: eval `sed -n ' ! 77: /^Subj/ { ! 78: s/^Subj[^ :]*[ :] *\([^:]*\):\(.*\)/title="\1";newsgroup="\2"/p ! 79: s/^Subj[^ :]*[ :] *\([^:]*\)$/title="\1"/p ! 80: } ! 81: /^From/ { ! 82: s/^[fF]rom[: ] *\([^ ]*\).*/sender="\1"/p ! 83: } ! 84: /^$/ { ! 85: b done ! 86: } ! 87: : done ! 88: ' $tempf` ! 89: ! 90: : 'default newsgroup to "general" if unspecified' ! 91: case $newsgroup in ! 92: '') newsgroup=general ;; ! 93: esac ! 94: ! 95: : 'make up something if the title unspecified' ! 96: case $title in ! 97: '') title="News from mail" ;; ! 98: esac ! 99: ! 100: : 'Submit the article to news' ! 101: if sed "1,/^$/d" $tempf | inews -t "$title" -n $newsgroup >$errorf 2>&1 ! 102: then ! 103: : 'OK exit, do nothing' ! 104: else ! 105: : 'On errors, return article together with error messages to user' ! 106: : 'Change this line if your mailer does not have a -s flag' ! 107: mail -s 'Rejected News Article' $sender <<!EOF ! 108: ! 109: The news article you submitted could not be accepted for the reasons: ! 110: `cat $errorf` ! 111: ! 112: The text of the article you submitted was: ! 113: `cat $tempf` ! 114: !EOF ! 115: ! 116: fi ! 117: ! 118: : 'clean up' ! 119: rm -f $tempf $errorf ! 120: ! 121: ! 122: ! 123: ! 124:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.