From:	CSBVAX::MRGATE!sherman%vsdec.decnet@nusc.arpa@SMTP 14-MAR-1988 15:42
To:	ARISIA::EVERHART
Subj:	ALL-IN-1 Special.com that fixes several problems.


Received: from YMIR.BITNET by CUNYVM.CUNY.EDU ; Thu, 10 Mar 88 16:08:28 EST
Received: from BITNET-GATEWAY by YMIR.BITNET; Thu, 10 Mar 88 12:18 PST
Received: from CUNYVM by CUNYVM.BITNET (Mailer X1.25) with BSMTP id 4921; Thu,
 10 Mar 88 15:20:01 EST
Received: from nusc.arpa by CUNYVM.CUNY.EDU ; Thu, 10 Mar 88 15:17:59 EST
Date: 10 Mar 88 15:11:00 EST
From: "VSDEC::SHERMAN" <sherman%vsdec.decnet@nusc.arpa>
Subject: ALL-IN-1 Special.com that fixes several problems.
To: "ipmdf%ymir.bitnet" <ipmdf%ymir.bitnet@cunyvm.cuny.edu>
X-VMS-To: "ipmdf%ymir.bitnet" <ipmdf%ymir.bitnet@cunyvm.cuny.edu>
Resent-date: Thu, 10 Mar 88 12:19 PST
Resent-to: INFO-PMDF-LIST@YMIR.BITNET

Sorry folks, indeed I had modified my SPECIAL.COM some while back and I
hadn't even realized that the QUOTING had been a problem in the first
place.  I was having trouble with getting an ! in, and also discovered a
problem that is only encountered when replying to a mail message from a
user that uses VMSmail Personal Names.

Here's my SPECIAL.COM, with the modifications.  Have I trapped all the
problems that you folks were having out there?  If not, I hope we might
be able to trade a few tid-bits.

For those of you who can't ask your system manager to change oa$lib:special,
you may instead simply put this in your own ALL-IN-1 directory, and it will
work just as well.

Bill.

------------------8<---------- cut here ----------8<------------------
$ !    OALIB:SPECIAL.COM    V2.1A    Last edited: 4-Nov-1985
$ !    Electronic Mail Subsystem
$ !    Deliver mail to the "SPECIAL" destination
$ !
$ !     NUSC modification history:
$ !
$ !        11-NOV-1987, Bill Sherman (A&T Technical Services)
$ !        Fixed problem with replying to users with VMSmail personal
$ !        names.
$ !
$ !         01-NOV-1987, Bill Sherman (A&T Technical Services)
$ !         Modified to allow sending to addressees with exclaimation
$ !        points in them.  [This also fixes quoting problems!]
$ !
$    ASSIGN/USER NLA0: SYS$OUTPUT
$    ASSIGN/USER NLA0: SYS$ERROR
$    ON WARNING THEN GOTO NOT_SENT
$    ORIG_DIR :==    'F$LOGICAL("SYS$DISK")''F$DIRECTORY()'
$    MY_NODE    :=    'F$LOGICAL("SYS$NODE")
$
$ UNDERLINE_LOOP:
$    IF "''F$EXTRACT(0,1,MY_NODE)'" .NES. "_" THEN GOTO SETUP_PARAM
$    MY_NODE    :=    'F$EXTRACT(1,99,MY_NODE)
$    GOTO UNDERLINE_LOOP
$
$ SETUP_PARAM:
$    WRITE OAMAILBOX "OA GET PROFIL.DIRECT[OA$USER]"
$    @DCLMAILBOX:
$    HOME_DIR    :=    "''RESULT'"
$    WRITE OAMAILBOX "OA GET #MAILSUBJ"
$    @DCLMAILBOX:
$    SUBJ    :=    "''RESULT'"
$    WRITE OAMAILBOX "OA GET #MAILFILE"
$    @DCLMAILBOX:
$    FILE    :=    'RESULT
$    WRITE OAMAILBOX "OA GET #MAILNODE"
$    @DCLMAILBOX:
$    NODE    :=    'RESULT
$    IF NODE .EQS. "" THEN GOTO SEND_IT
$    IF 'F$LOCATE("::",NODE) .EQ. 'F$LENGTH(NODE) THEN NODE := 'NODE'::
$    IF "''MY_NODE'" .EQS. "''NODE'" THEN NODE := ""
$    WRITE OAMAILBOX "OA GET OA$STATUS=""1"""
$    @DCLMAILBOX:
$
$ SEND_IT:
$    WRITE OAMAILBOX "OA GET #MAILADDR"
$    @DCLMAILBOX:
$    TO    :=    "''NODE'''RESULT'"
$!
$! Ignore VMSmail Personal (required when replying)
$!
$    TO    =    f$element(0, " ", to)
$ LOOP1:
$          IF F$EXTRACT(0,1,TO) .NES. "_" THEN GOTO REALLY_SEND
$!
$! Added ""'s around extract to preserve case and "!" in destination.
$!
$    TO    :=    "''F$EXTRACT(1,99,TO)'"
$    GOTO LOOP1
$ REALLY_SEND:
$    ASSIGN/USER NLA0: SYS$OUTPUT
$    ASSIGN/USER NLA0: SYS$ERROR
$    SET DEFAULT 'HOME_DIR
$!
$! Added ""'s around TO to preserve case and "!" in destination.
$!
$    MAIL/SUBJ="''SUBJ'" 'FILE' "''TO'"
$    IF $STATUS THEN GOTO DONE
$
$ NOT_SENT:
$    Status = '$STATUS
$    WRITE OAMAILBOX "OA GET OA$STATUS=""''STATUS'"""
$    @DCLMAILBOX:
$ DONE:
$    SET DEFAULT 'ORIG_DIR
$    EXIT