[news.misc] mailing lists -> newsgroups

meyer@cambium.uoregon.edu (David M. Meyer) (12/18/90)

	Does anyone have a script that they like for injecting
	news from a mailing list (e.g., an alias) into a local
	news group (i.e., that does the "right" thing with
	headers, subject lines, etc)?

	Thanks,


	Dave


-------------------------------------------------------------------------------

	David M. Meyer			Voice:     503/346-4394
	Network Systems Analyst		Internet:  meyer@oregon.uoregon.edu
	Office of University Computing	Bitnet:    meyer@oregon
  	University of Oregon		UUCP:	   ...!uoregon!meyer
	1225 Kincaid			FAX:	   503/346-4397
	Eugene, OR 97403	
--
-------------------------------------------------------------------------------

	David M. Meyer			Voice:     503/346-4394
	Network Systems Analyst		Internet:  meyer@oregon.uoregon.edu
	Office of University Computing	Bitnet:    meyer@oregon
  	University of Oregon		UUCP:	   ...!uoregon!meyer
	1225 Kincaid			FAX:	   503/346-4397
	Eugene, OR 97403	

]) (12/20/90)

In article <MEYER.90Dec17124939@cambium.uoregon.edu> meyer@cambium.uoregon.edu (David M. Meyer) writes:
>	Does anyone have a script that they like for injecting
>	news from a mailing list (e.g., an alias) into a local
>	news group (i.e., that does the "right" thing with
>	headers, subject lines, etc)?
>
>	Thanks,
>	Dave

In its simplest form, all the program needs to do is strip the leading
'From ' header (without a colon) and feed it into inews -h...

--
# Replace "newslist" with the phantom username that's on the mailing list
# Replace "news.group" with the newsgroup name
aliases: (for sendmail)
	newslist:"|/bin/sed 1d | /usr/lib/news/inews -h -n news.group"
aliases: (for smail)
	newslist:"|/bin/sed 1d | /usr/lib/news/inews -h -f\"$SENDER\" -n news.group"
--

I tend to lean a little harder on it by stripping out a few other
headers, and thus use awk instead of sed.  If the awk script is in
/usr/lib/news...

--
# Replace "newslist" with the phantom username that's on the mailing list
# Replace "news.group" with the newsgroup name
aliases: (for sendmail)
	newslist:"|/bin/awk -f /usr/lib/news/mail2news.awk | /usr/lib/news/inews -h -n news.group"
aliases: (for smail)
	newslist:"|/bin/awk -f /usr/lib/news/mail2news.awk | /usr/lib/news/inews -h -f\"$SENDER\" -n news.group"
--

-- cut into mail2news.awk --
# %W% %G% %U%
#
# mail2news.awk -- a utility to handle the headers in a mailfile for
# posting as news
#
BEGIN {
	mysite = "your_uucp_node_name_here"     # Tailor this line!!
	nuke[1] = "[Tt][Oo]:"
	nuke[2] = "[Cc][Cc]:"
	nuke[3] = "[Bb][Cc][Cc]:"
	nuke[4] = "[Rr][Ee][Cc][Ee][Ii][Vv][Ee][Dd]"
	nuke[5] = "[Ss][Tt][Aa][Tt][Uu][Ss]:"
        nuke[6] = ".*[Mm][Aa][Ii][Ll][Ee][Rr]"
	nuke[7] = "[Dd][Aa][Tt][Ee]:"

	nukes     = 7

	cont_nuke = 0

	inheader  = 1  # Until we get a null line
	}

#
# Once we're out of the header, just print the lines
#
inheader == 0 {
	print
	next
	}

#
# End of header?
#
$0 == "" {
	inheader = 0
	print
	next
	}

#
# Delete mail's leading 'From ' header
#
NR == 1 && match($0, "[Ff][Rr][Oo][Mm] ") == 1 {
	print "Path:", mysite "!nobody"
	next
	}

#
# Continuation of a nuked header?
#
cont_nuke == 1 {
	first = substr($0, 1, 1)
	if ( first == " " || first == "\t" ) {
		next    # Skip it -- it's a continuation
		}
	cont_nuke = 0   # Otherwise, turn off cont_nuke flag
	}

#
# Lines to cut?
#
	{
	for ( i = 1; i <= nukes; i++ ) {
		if ( match($1, nuke[i]) == 1 ) {
			cont_nuke = 1   # Set cont_nuke flag for next line
			next            # Don't print this one
			}
		}
	print
	}
-- cut into mail2news.awk --


...Kris
-- 
Kristopher Stephens, | (408-746-6047) | krs@uts.amdahl.com | KC6DFS
Amdahl Corporation   |                |                    |
     [The opinions expressed above are mine, solely, and do not    ]
     [necessarily reflect the opinions or policies of Amdahl Corp. ]

nrd@redwood22.cray.com (Neal Dalton) (12/20/90)

In article <d4a=02WLf9wm01@amdahl.uts.amdahl.com>, krs@uts.amdahl.com (Kris Stephens [Hail Eris!]) writes:
|> >	Does anyone have a script that they like for injecting
|> >	news from a mailing list (e.g., an alias) into a local
|> >	news group (i.e., that does the "right" thing with
|> >	headers, subject lines, etc)?
|> >
|> >	Thanks,
|> >	Dave
|> 
|> In its simplest form, all the program needs to do is strip the leading
|> 'From ' header (without a colon) and feed it into inews -h...
|> 
|> --
|> # Replace "newslist" with the phantom username that's on the mailing list
|> # Replace "news.group" with the newsgroup name
|> aliases: (for sendmail)
|> 	newslist:"|/bin/sed 1d | /usr/lib/news/inews -h -n news.group"
|> aliases: (for smail)
|> 	newslist:"|/bin/sed 1d | /usr/lib/news/inews -h -f\"$SENDER\" -n news.group"
|> --

This wouldn't work on my site, because we have (the "brain-dead" :) inews that came with the
NNTP release (I guess).  It doesn't know any of the normal inews flags.  So I got recnews from the B-news stuff and hack it until it worked.

What I did in end I found out, for some reason our site needs the PATH: field.  So I regerated the mail for News with recnews and piped it into inews.

What may work is a awk/sed script that added the Newsgroup field and the Path: `whoami` to the mail headers piped into inews -h.

If you have problems with the previous post make sure which inews you have and if you need Path:.  

Good luck and keep us informed of problem/solutions.

----
Neal  /\    /   _     /   \|||/                   Neal Dalton
     /  \  / _  _\   /   /     \                  Cray Research, inc
    /    \/_</_(_/\_/   (  o o  ) _________       655-F Lone Oak Dr.
                         \  ^  / /         \      Eagan, MN 55121
                          \ 0 / <   OH NO,  )
Internet: nrd@cray.com     \_/   \ not him!/      Fax:   (612) 683-5599
    uucp: uunet!cray!nrd          \_______/       Phone: (612) 683-5607

news@spectrum.CMC.COM (12/20/90)

In article <MEYER.90Dec17124939@cambium.uoregon.edu> meyer@cambium.uoregon.edu (David M. Meyer) writes:
>	Does anyone have a script that they like for injecting
>	news from a mailing list (e.g., an alias) into a local
>	news group (i.e., that does the "right" thing with
>	headers, subject lines, etc)?

In /usr/lib/aliases, I have a line like this to make a two-way gateway to
a local newsgroup:

ietf-hosts: "|grep -v '^From '|/usr/news/bin/inject/inews -h -n ietf.hosts -a Automatically"

Reflector:	(defined in /usr/news/lib/mailpaths)
		"ietf.hosts ietf-hosts@nnsc.nsf.net"
Local incoming alias, see above.

The grep command removed the unix-header line, which is not RFC-822.
Works really well.

cluther@supernet.haus.com (Clay Luther) (12/20/90)

nrd@redwood22.cray.com (Neal Dalton) writes:


>In article <d4a=02WLf9wm01@amdahl.uts.amdahl.com>, krs@uts.amdahl.com (Kris Stephens [Hail Eris!]) writes:
>|> >	Does anyone have a script that they like for injecting
>|> >	news from a mailing list (e.g., an alias) into a local
>|> >	news group (i.e., that does the "right" thing with
>|> >	headers, subject lines, etc)?

>Good luck and keep us informed of problem/solutions.

I have posted our scripts that do this very thing to alt.sources.

Package is called Gate.


-- 
Clay Luther, Postmaster          cluther@supernet.haus.com 
  Harris Adacom Corporation      cluther@enigma.haus.com
  Voice:  214/386-2356           MS 23, PO Box 809022, Dallas, Tx 75380-9022
  Fax:    214/386-2159           Your mileage may vary.  Void where prohibited.

]) (12/20/90)

In article <1990Dec19.230106.13613@spectrum.CMC.COM> news@spectrum.CMC.COM writes:
>In /usr/lib/aliases, I have a line like this to make a two-way gateway to
>a local newsgroup:
>
>ietf-hosts: "|grep -v '^From '|/usr/news/bin/inject/inews -h -n ietf.hosts -a Automatically"

Watch out on this.  It assumes that the inbound mail has no non-header
lines starting with 'From ', which is not guaranteed.  'sed 1d' is the
better approach since the first line will be the 'From ' in question.
For true assuredness, 

awk '	$1 == "From" && NR == 1 { next }
	{ print }'

remembering, of course, to escape the $ and " characters inside the awk
program for use in the aliases file.

As an aside, I believe it's the rmail/smail/sendmail program with the task
of appending a /usr/mail/$user file which inserts a > in front of '^From '
when it appears other than as line 1 of the header.  That's certainly the
case with smail, configured in the directors file by setting 'unix_from_hack'.
Were it the sending-mail-engine's responsibility, it would wreck data mailed
into programs, where the inserted character would alter the inbound data
stream.  (That last is, I admit, conjecture.)

..Kris
-- 
Kristopher Stephens, | (408-746-6047) | krs@uts.amdahl.com | KC6DFS
Amdahl Corporation   |                |                    |
     [The opinions expressed above are mine, solely, and do not    ]
     [necessarily reflect the opinions or policies of Amdahl Corp. ]

rsalz@bbn.com (Rich Salz) (12/22/90)

In <1990Dec19.230106.13613@spectrum.CMC.COM> news@spectrum.CMC.COM writes:
>In /usr/lib/aliases, I have a line like this to make a two-way gateway to
>a local newsgroup:
>
>ietf-hosts: "|grep -v '^From '|/usr/news/bin/inject/inews -h -n ietf.hosts -a Automatically"

From my point of view, that is not a very
good way to do things!

This message shows why.
-- 
Please send comp.sources.unix-related mail to rsalz@uunet.uu.net.
Use a domain-based address or give alternate paths, or you may lose out.