[comp.mail.uucp] To {UUCP,Internet} from brain-dead Bitnet

lamy@ai.toronto.edu (Jean-Francois Lamy) (02/21/88)

[ This concerns only mail from Bitnet sites with broken mailers that don't
  understand machine.uucp or Internet domain names already.  In a previous
  note I implied there was little one could do, but it seems all is not lost ]

I got a helpful reply from someone that I thought I'd pass along.  I had
actually seen this method proposed elsewhere but had been so shocked by the
look that I quickly erased it from memory.  Now that I'm convinced that
escaping the bind of bitnet may indeed be worth the trouble, the ugliness
seems justified :-).

The method described below requires the sender to wrap the message with
"BSMTP" commands.  The message is then "punched" to a special recipient at a
gateway machine. That recipient is a BSMTP mailer, which then interprets the
commands and forwards the message.  All that remains is to find a machine that
knows about UUCP and/or the Internet.  PSUVAX1 at Penn State (UUCP) and CUNYVM
at Columbia (Internet) are two such sites.

For those who care: SMTP is the protocol recommended for the exchange of mail
on the Internet (Simple Mail Transfer Protocol).  BSMTP is the batched version
of the same protocol (one does not get the status after each message). BSMTP
is the recommended method for Bitnet sites, but many sites do without it.
Some sites also use BSMTP to exchange their UUCP mail.

Thanks to the person who sent me the note.  Maybe someone in the know can post
the commands required to punch a file class M from the various IBM OSes.

One final note: The Date: header line below can probably be left out. [B]SMTP
does not care, and any sensible mailer will put one in.  Some may barf on an
illegal date, so I would first try without a Date: header.

Jean-Francois Lamy
AI Group, Department of Computer Science           lamy@ai.toronto.edu
University of Toronto, Canada M5S 1A4              uunet!ai.toronto.edu!lamy 

------- Forwarded Message

From: cmcl2!rochester!srs!matt
Date:	Fri, 19 Feb 88 07:36:17 EST
Subject: Re: UUCP gatewaying to CSNET, BITNET, ARPANet, etc.
Newsgroups: comp.mail.uucp
Organization: S.R. Systems, Rochester NY

I've heard (but I've never tried since I don't have access to a BITNET site)
that the following will work: send it to

    MAILER@PSUVAX1 using BSMTP

    To send from BITNET to Usenet, construct a file as follows...

    vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv Start of file
    HELO yournode.BITNET
    VERB ON
    TICK 0001
    MAIL FROM:<youruid@yournode.BITNET>
    RCPT TO:<user@node.UUCP>
    DATA
    Date: Current date goes here
    From: youruid@yournode.BITNET
    To: user@node.UUCP
    Subject: gateway

    < Put the text of your message here.  The blank line between the sebject
    < and the beginning of you text is necessary.  End you text with a '.' on
    < a line by itself, and end the mailing with 'QUIT' on a line, as shown
    < below.

    .
    QUIT
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ End of file

    Send the file to mailer @ psuvax1 as a punch file, class = M 
    (i.e.) mail class.

    example: on VMS running JNET:
	  SEND/FILE/PUNCH/CLASS=M filename.ext MAILER@PSUVAX1


I got this from the net a couple of years ago.  Feel free to post it if
you wish.  I've never really tried it, but I believe it works from any
bitnet site...

 -- 
 -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-
 - UUCP:	{allegra,rutgers,ames}!rochester!srs!matt	Matt Goheen
 - 	"First the pants, THEN the shoes."		S.R. Systems
 -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-

------- End of Forwarded Message

roy@phri.UUCP (Roy Smith) (02/22/88)

lamy@ai.toronto.edu (Jean-Francois Lamy) writes:
> CUNYVM at Columbia (Internet)

Uh, isn't CUNYVM at City University of New York?
-- 
Roy Smith, {allegra,cmcl2,philabs}!phri!roy
System Administrator, Public Health Research Institute
455 First Avenue, New York, NY 10016

dave@csd1.milw.wisc.edu (David A Rasmussen,EMS E380,5133,) (02/23/88)

From article <3153@phri.UUCP#, by roy@phri.UUCP (Roy Smith):
# lamy@ai.toronto.edu (Jean-Francois Lamy) writes:
#> CUNYVM at Columbia (Internet)
# 
# Uh, isn't CUNYVM at City University of New York?
# -- 
# Roy Smith, {allegra,cmcl2,philabs}!phri!roy
# System Administrator, Public Health Research Institute
# 455 First Avenue, New York, NY 10016
Aren't we supposed to use INTERBIT (which is CUNYVM, at least at the moment)?

Dave Rasmussen c/o Computing Services Division @ U of WI - Milwaukee
Internet: dave@csd4.milw.wisc.edu  Uucp: uwvax!uwmcsd1!uwmcsd4!dave {o,o}
Csnet:	  dave%uwmcsd4@uwm	   Bellnet: +1 (414) 229-5133        \u/
ICBM: 43 4 58 N/ 87 55 52 W  Usnail: 3200 N Cramer #E380, Milw WI 53211

dboyes@uoregon.UUCP (David Boyes) (02/23/88)

Someone asked about specifying spool classes and tagging punches on
various IBM OS' on BITNET. Beats the daylights out of me how the
MVS/TSO folks do it but the VM/CMS commands are:

   CP SPOOL PUN TO RSCS                  ; point punch at network machine
   CP SPOOL PUN CLASS M                  ; specify punch class
   CP TAG DEV PUN <node> <userid>        ; specify destination
   PUNCH <fn> <ft> <fm> ( NOH            ; punch it, lrecl must be <= 
   CP SPOOL PUN TO *                     ; spool your punch back to default

Change 'RSCS' above to the proper name of the virtual machine running
the RSCS netowrking software and you're off to the races.

-- 
David Boyes         | ARPA: 556%OREGON1.BITNET@CUNYVM.CUNY.EDU
Systems Division    | BITNET: 556@OREGON1
UO Computing Center | UUCP: dboyes@uoregon.UUCP
'How long d'ya think it'll be before just us oldtimers remember WISCVM?'      

YBMCU@CUNYVM.CUNY.EDU (02/25/88)

In article <4748@uwmcsd1.UUCP>, dave@csd1.milw.wisc.edu (David A Rasmussen,EMS E380,5133,) says:
>
>From article <3153@phri.UUCP#, by roy@phri.UUCP (Roy Smith):
># lamy@ai.toronto.edu (Jean-Francois Lamy) writes:
>#> CUNYVM at Columbia (Internet)
>#
># Uh, isn't CUNYVM at City University of New York?
># --
># Roy Smith, {allegra,cmcl2,philabs}!phri!roy
># System Administrator, Public Health Research Institute
># 455 First Avenue, New York, NY 10016
>Aren't we supposed to use INTERBIT (which is CUNYVM, at least at the moment)?
>
>Dave Rasmussen c/o Computing Services Division @ U of WI - Milwaukee
>Internet: dave@csd4.milw.wisc.edu  Uucp: uwvax!uwmcsd1!uwmcsd4!dave {o,o}
>Csnet:    dave%uwmcsd4@uwm         Bellnet: +1 (414) 229-5133        \u/
>ICBM: 43 4 58 N/ 87 55 52 W  Usnail: 3200 N Cramer #E380, Milw WI 53211

INTERBIT is the name of the pseudo-node to which mail for the Internet
from BITNET is supposed to be sent (the distributed tables point to
the gateway as SMTP@INTERBIT).  The distributed route tables currently
indicate that INTERBIT is a node hung off CUNYVM.

Some nodes are also serving as BITNET -> Internet gateways by moving
INTERBIT traffic through their own gateways.

However, for those who are sending mail from the Internet -> BITNET,
the INTERBIT scheme doesn't work - there is no INTERBIT node on the
Internet.  Therefore, until we can work out a better scheme for
this (and there will be discussion at the BITNET technical meeting
this Saturday in Anaheim), then mail destined for BITNET can be
sent as user%node.BITNET@CUNYVM.CUNY.EDU from an Internet site.

-------

Ben Yalow               City University of New York
BITNET: YBMCU@CUNYVM
INTERNET: YBMCU@CUNYVM.CUNY.EDU

dmcanzi@watdcsu.waterloo.edu (David Canzi) (02/27/88)

After some prodding from Ted Timar of Microsoft, I wrote a bare-bones
program for sending mail through gateways.  It's intended for users to
install in their own disk space at those VM sites where the management
still operates under the delusion that IBM's "NOTE" command is
adequate.  I understand there are many such sites.

Its capabilities are rather limited:  It is a special-purpose program
for sending mail through gateways.  It may be able to send mail to
another user on BITNET, or to another user on the same machine as the
sender, but if so the mail will only get to its destination after a
side-trip to the gateway.  It only allows sending to *one* recipient.
Sorely lacking is a complementary command for receiving mail.
"READCARD" will have to do.

The limitation on the number of recipients and the lack of a decent
command for receiving mail can be overcome by somebody reasonably
proficient in the REXX programming language who has a few hours to
spare -- ie. somebody other than me.

Read the comments before attempting to use this program, in order to
find out what local customization may be necessary, and what the side
effects of using this program are.

-----------------Cut-----here----------------
/*
 * UMAIL EXEC -- a program to send mail through a BITNET->UUCP gateway.
 *
 * 1) The following code has been lightly tested on watdcs.  A serious
 *    attempt has been made to avoid dependencies on "localisms".
 * 2) The variable "gateway" may be set to 'PSUVAX1 MAILER', 'WATER MAILER',
 *    or 'WATDCSU MAILER'.  These are the gateways I know of.  There are
 *    doubtlessly many others.
 * 3) The userid that runs the RSCS file transfer software can vary from
 *    site to site, but it's usually called RSCS.  The variable "rscsname"
 *    should be set to this userid.
 * 4) This program erases the file XYZ MAIL A (where XYZ is your userid)
 *    without attempting to find out, first, whether you needed that file.
 * 5) After the mail is sent, it's appended to the file MAIL LOG A.
 */

gateway = 'PSUVAX1 MAILER'
rscsname = 'RSCS'

if arg() <> 1 then do
     say 'Usage: umail user@site'
     say '   or: umail user@site.domain'
     exit(24)
end
parse arg toaddr
'MAKEBUF'
'EXECIO * CP ( STRING QUERY USERID'
parse pull userid . host
'DROPBUF'
fromaddr = userid'@'host'.BITNET'
'MAKEBUF'
'EXECIO * CP ( STRING QUERY TIME'
parse pull . . . timezone .
'DROPBUF'
address COMMAND 'ERASE' userid 'MAIL A'
'MAKEBUF'
queue 'Date:' substr(date('W'),1,3)',' substr(date('O'),7,2)+0 ,
     substr(date('M'),1,3) substr(date('O'),1,2) time() timezone
queue 'From:' fromaddr
queue 'To:' toaddr
queue ''
'EXECIO 4 DISKW' userid 'MAIL A ( FINIS'
'DROPBUF'
'MAKEBUF'
'LISTFILE' userid 'MAIL A ( DATE NOHEADER STACK LIFO'
parse pull . . . . . . . . beforedate .
'DROPBUF'
'XEDIT' userid 'MAIL A'
'MAKEBUF'
'LISTFILE' userid 'MAIL A ( DATE NOHEADER STACK LIFO'
parse pull . . . . . . . . afterdate .
'DROPBUF'
if beforedate <> afterdate then do
     'MAKEBUF'
     'EXECIO * CP ( STRING TAG QUERY DEV PUNCH'
     tagset = 'TAG DEV PUNCH'
     parse pull . . tagcheck
     if tagcheck <> 'TAG NOT SET' then do
          parse pull tagdata
          tagset = tagset tagdata
     end
     'DROPBUF'
     'MAKEBUF'
     'EXECIO * CP ( STRING QUERY VIRTUAL 00D'
     parse pull . . . spclass .
     parse pull . . spto .
     'DROPBUF'
     'CP SPOOL PUNCH CLASS M TO' rscsname
     'CP TAG DEV PUNCH' gateway
     'MAKEBUF'
     linesbefore = queued()
     queue 'HELO' host'.BITNET'
     queue 'VERB ON'
     queue 'TICK' right(time('S')%10,4,'0')
     queue 'MAIL FROM:<'userid'@'host'.BITNET>'
     queue 'RCPT TO:<'toaddr'>'
     queue 'DATA'
     'EXECIO * DISKR' userid 'MAIL A ( FIFO'
     queue '.'
     queue 'QUIT'
     'EXECIO' queued()-linesbefore 'PUNCH'
     'DROPBUF'
     'CP CLOSE PUNCH NAME' userid 'MAIL'
     'CP' tagset
     'CP SPOOL PUNCH TO' spto 'CLASS' spclass
     'EXECIO 1 DISKW MAIL LOG A ( STRING -*-*-*-* *-*-*-*-'
     'FINIS MAIL LOG A'
     'COPYFILE' userid 'MAIL A MAIL LOG A ( APPEND'
end

-- 
David Canzi