[news.sysadmin] Summary: Integrating Internet mail with News

jipping@cs.hope.edu (Mike Jipping) (02/12/90)

I posted a query here last week about how to integrate Internet-only 
mailing lists with news.  I got many responses, and here is a summary.

Here's what worked for us.  We are using C news.

   (1) Set up local groups with some arbitrary top level name.  We 
       chose "mail." for our top level.  Hence, the Internet list "foo"
       becomes the "mail.foo" group.  MAKE THIS GROUP MODERATED.

   (2) Use an alias for the group on your machine.  That alias should 
       pump the input through "inews" as follows:

          foo: "| /usr/lib/news/inews -h -a rfc -n mail.foo"

   (3) Now for users posting to the "mail.foo" group, add a line to the
       "/usr/lib/news/mailpaths" file as follows:

          mail.all     %s
       
       Since the "mail.foo" group was created as moderated in step (1), this 
       means that both followups and postings will go to the alias "mail-foo".

   (4) Finally, set up another mail alias "mail-<group>" to route posting
       out through mail back to the list's origin.  The mail alias for 
       "mail.foo" must be "mail-foo".

This is pretty straighforward (I think) and requires no hacking.  We seem
to be flowing pretty smoothly.

Thanks go to the following folks:
     tadguy@cs.odu.edu
     nagel@wintermute.ics./uci.edu
     night@pawl.rpi.edu
     herron!jbrown@jato.jpl.nasa.gov
     ficc!peter
     brian@ucsd.edu
     mdb@kosciusko.esd.3com.com
     spaf@cs.purdue.edu
     chinacat.Lonestar.ORG!chip@cs.utexas.edu

--
      Mike Jipping                        Internet: jipping@cs.hope.edu
      Hope College                          BITNET: JIPPING@HOPE
      Department of Computer Science         Voice: Hey!

jbrown@herron.uucp (Jordan Brown) (02/15/90)

jipping@cs.hope.edu (Mike Jipping) writes:
>    (2) Use an alias for the group on your machine.  That alias should 
>        pump the input through "inews" as follows:
> 
>           foo: "| /usr/lib/news/inews -h -a rfc -n mail.foo"

I had a problem with this in that it leaves the Message-Id alone.
This is fine unless you mail a message to two such lists, and
then one of them bounces as a dup.  Recnews tosses the Message-Id
(and a lot of other headers) and was a more satisfactory solution for
me.
-- 
Jordan Brown
jbrown@jato.jpl.nasa.gov

chip@tct.uucp (Chip Salzenberg) (02/16/90)

According to jbrown@jato.jpl.nasa.gov:
>jipping@cs.hope.edu (Mike Jipping) writes:
>>    (2) Use an alias for the group on your machine.  That alias should 
>>        pump the input through "inews" as follows:
>> 
>>           foo: "| /usr/lib/news/inews -h -a rfc -n mail.foo"
>
>I had a problem with this in that it leaves the Message-Id alone.
>This is fine unless you mail a message to two such lists, and
>then one of them bounces as a dup.  Recnews tosses the Message-Id
>(and a lot of other headers) and was a more satisfactory solution for
>me.

However, constructing reference trees is difficult when the message ID
is dropped.  Instead of dropping it, why not arrange a method of
cross-posting?  After all, such an approach is preferable to sending
the same article twice, costing "hundreds if not thousands of
dollars."
-- 
Chip Salzenberg at ComDev/TCT     <chip@tct.uucp>, <uunet!ateng!tct!chip>
         "The Usenet, in a very real sense, does not exist."

bdb@becker.UUCP (Bruce Becker) (02/18/90)

In article <1990Feb12.141913.2515@cs.hope.edu> jipping@cs.hope.edu (Mike Jipping) writes:
|I posted a query here last week about how to integrate Internet-only 
|mailing lists with news.  I got many responses, and here is a summary.
|
|Here's what worked for us.  We are using C news.
|
|   (1) Set up local groups with some arbitrary top level name.  We 
|       chose "mail." for our top level.  Hence, the Internet list "foo"
|       becomes the "mail.foo" group.  MAKE THIS GROUP MODERATED.
|
|   (2) Use an alias for the group on your machine.  That alias should 
|       pump the input through "inews" as follows:
|
|          foo: "| /usr/lib/news/inews -h -a rfc -n mail.foo"

	I'm not sure about C News, but B News will
	have problems with this. Inews seems to be
	quite picky about missing "Subject:" lines
	and the order of lines in the header, etc.

	I wrote an awk filter which fixes up these
	problems because the incoming mail bounced
	when inews didn't like it.

	Other than this the steps you propose seem
	to work fine - I've been importing mailing
	lists into News for a few months this way.

	If you're running "smail" there is a patch
	which implements "|/usr/lib/news/xx..." in
	the "aliases" file...

Cheers,
-- 
  (__)	 Bruce Becker	Toronto, Ontario
w \@@/	 Internet: bdb@becker.UUCP, bruce@gpu.utcs.toronto.edu
 `/v/-e	 UUCP: ...!uunet!mnetor!becker!bdb
_/  \_	 "Bite the Wax Tadpole" - the Coca-Cola company

jbrown@herron.uucp (Jordan Brown) (02/18/90)

In article <25DC072E.292@tct.uucp>, chip@tct.uucp (Chip Salzenberg) writes:
> According to jbrown@jato.jpl.nasa.gov:
> >>           foo: "| /usr/lib/news/inews -h -a rfc -n mail.foo"
> >I had a problem with this in that it leaves the Message-Id alone.
> >This is fine unless you mail a message to two such lists, ...
> ...  Instead of dropping it, why not arrange a method of cross-posting?

I'd be delighted to.  Unfortunately, as far as I can tell most schemes
that route into separate "| whatever" aliases generate multiple
postings.  You can try to extract the destination from the To: line
of the message, but for national mailing lists that doesn't work very
well because of the variations in the format of the address.
(Between source routing, ! routing, quoting, decnet, etc, I wasn't
able to come up with a sed script that would reliably extract the
mailing list name.  This ignores the possibility that the original
message was addressed to the list by a different name...)
Then, of course, you have to look at CC, Resent-{to,cc}, Apparently-to,
and perhaps other headers too.

I finally gave up and decided that, for my application (mostly gatewaying
local and national lists one-way into news), the simplicity and reliability
of recnews beat the crossposting-handling of the scheme that extracted
the mailing list from the headers.  (Besides, recnews threw away the
Received lines, which was overall a win and a little tough to do with sed.)

The "|inews -h -n mail.foo" scheme loses utterly, though, in that it
drops the second and later groups of a crosspost on the floor.
(I used it for a few hours, until I mailed a message to a half-dozen
groups noting that I'd changed the distribution scheme and to tell me
about problems... and noticed that my message only arrived in one group.)

If somebody has a better idea I'd love to hear it...
-- 
Jordan Brown
jbrown@jato.jpl.nasa.gov

chip@tct.uucp (Chip Salzenberg) (02/20/90)

According to bdb@becker.UUCP (Bruce Becker):
>If you're running "smail" there is a patch
>which implements "|/usr/lib/news/xx..." in
>the "aliases" file...

Beware!  The Smail 2.5 patches I've seen are insecure, in that a user
may put "|some_random_program" in his .forward, and get it executed in
the context of the user "uucp" (or even root, depending on the
circumstances).

As usual, I point to my Deliver 2.0 program as a way to get the
desired feature (pipe aliases) without the security hassles.
-- 
Chip Salzenberg at ComDev/TCT   <chip%tct@ateng.com>, <uunet!ateng!tct!chip>
          "The Usenet, in a very real sense, does not exist."

chip@tct.uucp (Chip Salzenberg) (02/20/90)

According to jbrown@jato.jpl.nasa.gov:
>The "|inews -h -n mail.foo" scheme loses utterly, though, in that it
>drops the second and later groups of a crosspost on the floor.
>(I used it for a few hours, until I mailed a message to a half-dozen
>groups noting that I'd changed the distribution scheme and to tell me
>about problems... and noticed that my message only arrived in one group.)
>
>If somebody has a better idea I'd love to hear it...

Well, with Smail 2.5 Deliver 2.0 (you knew it was coming) you can
handle this situation.

First, be sure that Smail is generating *one* Deliver invocation, no
matter how many "local" addresses are included.

Next, configure Deliver to collect names that look like newsgroups and
generate a Newsgroups: header line appropriately.

Third, feed this Newsgroups: header line to "inews -h", followed by
other selected header lines and the message body.

Result: one cross-posted article.  Of course, none of this works if
the mailing lists are on different machines.  I've even done it, once.
I don't have the code handy, and it needs some cleaning; but if more
than two people ask, I'll post it.
-- 
Chip Salzenberg at ComDev/TCT   <chip%tct@ateng.com>, <uunet!ateng!tct!chip>
          "The Usenet, in a very real sense, does not exist."