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" Subject: ALL-IN-1 Special.com that fixes several problems. To: "ipmdf%ymir.bitnet" X-VMS-To: "ipmdf%ymir.bitnet" 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