🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

1 total messages Started by duck Mon, 11 Jan 1993 11:11
mailserver - can be run from regular account, part01/01
#159
Author: duck
Date: Mon, 11 Jan 1993 11:11
499 lines
22561 bytes
Submitted-by: duck@pembvax1.pembroke.edu
Posting-number: Volume 4, Issue 38
Archive-name: mailserver/part01

This package is a mailserver written in DCL code that can easily be custom
modified. It is designed to run from a single user account such that the 
subject line is scanned for certain text (usually a subject line of MAILSER).
It also supports binary sends via uuencode and brief documentation on setup is
included. The ability to subscribe to a mailing list (mag.dis in the workdir)
is also provided for.

- Craig Taylor   - 919-521-3814   All Relevant Disclaimers Apply!!!
        duck@pembvax1.pembroke.edu (Pembroke State University)

$! ------------------ CUT HERE -----------------------
$ v='f$verify(f$trnlnm("SHARE_UNPACK_VERIFY"))'
$!
$! This archive created by VMS_SHARE Version 8.1
$!   On 11-JAN-1993 03:03:30.32   By user BERRYMAN    
$!
$! The VMS_SHARE software that created this archive
$!    was written by  Andy Harper, Kings College London UK
$!    -- September 1992
$!
$! Credit is due to these people for their original ideas:
$!    James Gray, Michael Bednarek 
$!
$! TO UNPACK THIS SHARE FILE, CONCATENATE ALL PARTS IN ORDER
$! AND EXECUTE AS A COMMAND PROCEDURE  (  @name  )
$!
$! THE FOLLOWING FILE(S) WILL BE CREATED AFTER UNPACKING:
$!       1. AAAREADME.1ST;1
$!       2. DOMAIL.COM;44
$!       3. SCAN.COM;5
$!
$set="set"
$set symbol/scope=(nolocal,noglobal)
$f=f$parse("SHARE_UNPACK_TEMP","SYS$SCRATCH:."+f$getjpi("","PID"))
$e="write sys$error  ""%UNPACK"", "
$w="write sys$output ""%UNPACK"", "
$ if .not. f$trnlnm("SHARE_UNPACK_LOG") then $ w = "!"
$ ve=f$getsyi("version")
$ if ve-f$extract(0,1,ve) .ges. "4.4" then $ goto start
$ e "-E-OLDVER, Must run at least VMS 4.4"
$ v=f$verify(v)
$ exit 44
$unpack: subroutine ! P1=filename, P2=checksum, P3=attributes
$ if f$search(P1) .eqs. "" then $ goto file_absent
$ e "-W-EXISTS, File ''P1' exists. Skipped."
$ delete 'f'*
$ exit
$file_absent:
$ if f$parse(P1) .nes. "" then $ goto dirok
$ dn=f$parse(P1,,,"DIRECTORY")
$ w "-I-CREDIR, Creating directory ''dn'"
$ create/dir 'dn'
$ if $status then $ goto dirok
$ e "-E-CREDIRFAIL, Unable to create ''dn' File skipped."
$ delete 'f'*
$ exit
$dirok:
$ w "-I-UNPACK, Unpacking file ''P1'"
$ n=P1
$ if P3 .nes. "" then $ n=f
$ if .not. f$verify() then $ define/user sys$output nl:
$ EDIT/TPU/NOSEC/NODIS/COM=SYS$INPUT 'f'/OUT='n'
PROCEDURE GetHex LOCAL x1,x2;x1:=INDEX(t,ERASE_CHARACTER(1))-1;x2:=INDEX(t,
ERASE_CHARACTER(1))-1;RETURN 16*x1+x2;ENDPROCEDURE;
PROCEDURE SkipPartsep LOOP EXITIF INDEX(ERASE_LINE,"-+-+-+-+-+-+-+-+")=1;
ENDLOOP;ENDPROCEDURE;
PROCEDURE ExpandChar CASE CURRENT_CHARACTER FROM ' ' TO 'z' ["`"]
:ERASE_CHARACTER(1);COPY_TEXT(ASCII(GetHex));[" "]:ERASE_CHARACTER(1);[
OUTRANGE,INRANGE]:MOVE_HORIZONTAL(1);ENDCASE;ENDPROCEDURE;
PROCEDURE ProcessLine s:=ERASE_CHARACTER(1);LOOP EXITIF CURRENT_OFFSET>=LENGTH(
CURRENT_LINE);ExpandChar;ENDLOOP;IF s="V" THEN APPEND_LINE;ENDIF;ENDPROCEDURE;
PROCEDURE AdvanceLine MOVE_HORIZONTAL(-CURRENT_OFFSET);MOVE_VERTICAL(1);
ENDPROCEDURE;PROCEDURE Decode POSITION(BEGINNING_OF(b));LOOP EXITIF MARK(NONE)=
END_OF(b);IF INDEX(CURRENT_LINE,"+-+-+-+-+-+-+-+-")=1 THEN SkipPartSep;
ELSE ProcessLine;AdvanceLine;ENDIF;ENDLOOP;ENDPROCEDURE;SET(FACILITY_NAME,
"UNPACK");SET(SUCCESS,OFF);SET(INFORMATIONAL,OFF);t:="0123456789ABCDEF";f:=
GET_INFO(COMMAND_LINE,"file_name");b:=CREATE_BUFFER(f,f);Decode;WRITE_FILE(b,
GET_INFO(COMMAND_LINE,"output_file"));QUIT;
$ if p3 .eqs. "" then $ goto dl
$ open/write fdl &f
$ write fdl "RECORD"
$ write fdl P3
$ close fdl
$ w "-I-CONVRFM, Converting record format to ", P3
$ convert/fdl=&f &f-1 &P1
$dl: delete 'f'*
$ if P2 .eqs. "" then $ goto ckskip
$ checksum 'P1'
$ if checksum$checksum .nes. P2 then $ -
  e "-E-CHKSMFAIL, Checksum of ''P1' failed."
$ exit
$ckskip: e "-W-CHKSUMSKIP, checksum validation unavailable for ''P1'"
$ endsubroutine
$start:
$!
$ create 'f'
XThis`20package`20is`20a`20mailserver`20written`20in`20DCL`20code`20that`20can
V`20easily`20be`20custom
Xmodified.`20It`20is`20designed`20to`20run`20from`20a`20single`20user`20account
V`20such`20that`20the`20
Xsubject`20line`20is`20scanned`20for`20certain`20text`20(usually`20a`20subject
V`20line`20of`20MAILSER).
XIt`20also`20supports`20binary`20sends`20via`20uuencode`20and`20brief`20documen
Vtation`20on`20setup`20is
Xincluded.`20The`20ability`20to`20subscribe`20to`20a`20mailing`20list`20(mag.di
Vs`20in`20the`20workdir)
Xis`20also`20provided`20for.
X
X-------
XBasically`20I`20wrote`20it`20because`20the`20system`20admin's`20here`20at`20sc
Vhool`20wouldn't`20let`20me
Xuse`20their`20mailserver`20software.`20:-)`20I`20asked`20'em`20if`20I`20could
V`20write`20my`20own`20and`20use
Xit`20and`20they`20looked`20at`20me`20in`20suprise`20and`20say`20yeah,`20sure
V`20-`20so`20here's`20the`20result.
X
X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20Mail-Server`20Documen
Vtation`20Release`20010393
X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20
V`20`20`20`20`20`20by`20Craig`20Taylor
X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20
V`20duck@pembvax1.pembroke.edu
X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20
V`20`20`20`20`20`20`20`20`20`20(c)`201993
X
X
XThe`20following`20two`20files:`20domail.com`20and`20scan.com`20make`20up`20a
V`20mail-server`20program
Xwhich`20can`20be`20run`20in`20a`20user`20account`20with`20regular`20privlages.
V`20The`20only`20logicals
Xor`20symbols`20that`20need`20to`20be`20changed`20are`20in`20the`20file`20domai
Vl.com`20and`20are:
X
X`20workdir`20-`20this`20is`20a`20definition`20that`20reflects`20where`20in`20y
Vour`20account`20the
X`20`20`20`20mailserver`20program`20is`20running`20from.`20A`20mailserver.log
V`20file`20should`20also`20be
X`20`20`20`20created`20initially`20with`20a`20blank`20line.`20Failure`20to`20do
V`20so`20will`20cause`20the
X`20`20`20`20program`20to`20abort`20with`20an`20error`20when`20run.
X
X`20bindir`20-`20an`20equate`20which`20reflects`20where`20files`20that`20are
V`20binary`20that`20require
X`20`20`20`20uuencode`20to`20be`20sent.`20A`20file`20called`20temp.txt`20will
V`20be`20generated`20in`20this
X`20`20`20`20directory`20`20from`20the`20uuencode`20comand`20before`20being`20s
Vent.
X
X`20txtdir`20-`20an`20equate`20which`20reflects`20where`20all`20files`20that
V`20can`20be`20sent`20without
X`20`20`20`20uuencode`20are.`20The`20catalog.txt`20(for`20the`20command`20"cata
Vlog")`20and
X`20`20`20`20"documentation.txt"`20(for`20the`20command`20"help")`20and`20statu
Vs.txt`20(for`20the
X`20`20`20`20command`20"status")`20are`20assumed.`20If`20you`20wish`20to`20chan
Vge,`20disable`20or`20remove`20any
X`20`20`20`20of`20these`20modify`20the`20scan.com`20file`20as`20appropriate.
X
XTo`20install`20the`20mailserver`20mofidy`20the`20above`20definitions`20and`20e
Vquates`20in
Xdomail.com,`20create`20a`20mailserver.log`20with`20a`20blank`20line`20in`20the
V`20workdir.`20Then`20make
Xsure`20that`20the`20system`20manager`20has`20installed`20uuenccode`20or`20that
V`20you`20have`20n`20equate`20
Xsetup`20in`20your`20login.com.`20
X
XIn`20addation`20there`20is`20a`20command`20called`20"subscribe"`20which`20adds
V`20the`20user's`20name`20to
Xa`20file`20called`20mag.dis.`20To`20change`20the`20file`20name`20requires`20mo
Vdifying`20the`20scan.com
Xfile.`20
X
XModifying`20scan.com`20is`20fairly`20easy`20for`20a`20user`20with`20moderate
V`20experience`20in`20VAX
XDCL`20language.`20Those`20who`20are`20not`20famaliar`20with`20DCL`20should`20b
Ve`20able`20to`20understand
Xwhat`20is`20going`20on`20upon`20careful`20reading.
X
XThe`20mailserver`20works`20by`20first`20deleting`20any`20previous`20files,`20g
Voing`20into`20mail`20and
Xextracting`20all`20mail`20messages`20that`20begin`20with`20a`20subject`20line
V`20of`20"mailser"`20into`20a
Xfile`20in`20the`20workdir`20directory`20called`20requests.txt.`20This`20is`20d
Vone`20in`20domail.com.
XNote`20that`20it's`20recommended`20that`20the`20following`20is`20added`20to
V`20your`20login.com`20file:
X
X$`20if`20f$interactive()
X$`20then
X.`20.`20.`20`5Bnoormal`20login.com`20file`5D
X$`20else
X$`20mail
Xselect`20newmail
Xselect/subject="mailser"
Xmove/all`20mail
Xexit
X$`20endif
X
XThis`20will`20make`20sure`20that`20all`20new`20requests`20are`20in`20your`20ma
Vil`20directory.`20If`20you
Xwish`20to`20preview`20them`20before`20they`20are`20processed`20then`20do`20not
V`20add`20the`20above`20lines.
X
XAlso`20you`20will`20need`20to`20create`20a`20folder`20in`20mail`20callled`20ol
Vdmail.`20I`20chose`20to`20have
Xthe`20mailserver`20put`20all`20the`20commands`20in`20that`20folder`20after`20i
Vt`20finished`20processing
Xthem`20instead`20of`20deleting`20them`20so`20that`20I`20could`20back-check`20w
Vith`20them`20against`20the
Xlogs`20if`20any`20errors`20cropped`20up.`20You'll`20want`20to`20periodically
V`20go`20in`20there`20and
Xdelete`20all`20the`20messages`20but`20one`20(if`20you`20delete`20them`20all
V`20then`20the`20folder`20will
Xcease`20to`20exist).
X
XI've`20tried`20to`20make`20this`20documentation`20as`20complete`20as`20possibl
Ve`20-`20be`20sure`20to`20read
Xeach`20paragraph`20fully`20and`20follow`20the`20instructions`20within.`20I'm
V`20also`20interested`20in
Xany`20comments`20you`20may`20have`20concerning`20it.`20One`20note`20'tho`20-
V`20if`20you`20send`20me`20mail
Xmake`20sure`20that`20it`20doesn't`20have`20the`20"mailser"`20subject`20line
V`20or`20else`20the
Xmailserver`20I'm`20running`20will`20flag`20it`20as`20a`20bunch`20of`20errors
V`20(oh!`20-`20the`20error.txt
Xis`20the`20file`20that`20contains`20a`20message`20stating`20that`20an`20error
V`20exists).`20Use
X"mail-server"`20instead.
X
XFor`20any`20questions`20or`20comments`20feel`20free`20to`20contact`20me`20as
Xduck@pembvax1.pembroke.edu.
XAnyway`20hope`20this`20helps,`20the`20documentation`20file`20is`20included`20b
Velow:
X
X-`20Craig`20Taylor`20`20`20-`20919-521-3814`20`20`20All`20Relevant`20Disclaime
Vrs`20Apply!!!
X`20`20`20`20`20`20`20`20duck@pembvax1.pembroke.edu`20(Pembroke`20State`20Unive
Vrsity)
X
X"Always`20try`20to`20do`20things`20in`20chronological`20order;`20it's`20less
V`20confusing
Xthat`20way."
$ call unpack AAAREADME.1ST;1 219362806 ""
$!
$ create 'f'
X$`20goto`20start
X
XMail-Server`20by`20Craig`20Taylor`20(duck@pembvax1.pembroke.edu)`20`20`20`20
V`20`20`20`20`20`20(c)`201993
X-`20written`20in`20VAX/DCL`20code`20consisting`20of`20three`20files:
X`20`20`20`20`20mailserver.com`20-`20this`20file`20that`20is`20submitted`20to
V`20a`20queue
X`20`20`20`20`20scan.com`20`20`20`20`20`20`20-`20generates`20.com`20file`20base
Vd`20on`20requests
X`20`20`20`20`20doit.com`20`20`20`20`20`20`20-`20this`20is`20the`20actual`20fil
Ve`20that`20is`20used`20to`20do`20the
X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20requests.
V`20-`20regenerated`20each`20time.
X
XRelease`20010393
X
X$start:
X$`20define`20workdir`20stud$disk:`5Bduck.mailserv`5D`20`20`20`20`20`20`20`20!
V`20running`20directory
X$`20txtdir`20:==`20"stud$disk:`5Bduck.mailserv.text`5D`20`20`20`20`20`20!`20al
Vl`20the`20send`20files
X$`20bindir`20:==`20"stud$disk:`5Bduck.mailserv.binary`5D`20`20`20`20!`20all
V`20the`20psend`20files
X$`20!
X$`20set`20default`20workdir
X$`20set`20noon
X$`20`20`20del`20requests.txt;*`09`09`09`09`20`20!`20delete`20all`20the`20files
V
X$`20`20`20del`20doit.com;*
X$`20set`20on
X$`20!
X$`20mail`09`09`09`09`09`09`20`20!`20go`20into`20mail`20and`20extract
Xselect`20mail
Xselect/subject="mailser"
Xextract/all`20requests.txt
Xmove/all`20oldmail
Xquit
X$`20if`20(f$search("requests.txt")`20.eqs.`20"")`20then`20goto`20endsub
X$`20`20`20@scan.com`09`09`09`09`09`20`20!`20scan`20and`20generate`20files
X$`20`20`20@doit.com`09`09`09`09`09`20`20!`20and`20send`20the`20files....`20
X$`20endsub:
X$`20wait`2000:10:00`20`20`20`20`20`20`20`20`20`20`20`20`20`20!`20make`20sure
V`20time`20has`20passed`20before`20re-submitting
X$`20submit/restart/nolog/after="tomorrow+2"/queue=sys$large`20workdir:domail.c
Vom
$ call unpack DOMAIL.COM;44 659241511 ""
$!
$ create 'f'
X$!scan.com`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20(c)`201993`20by`20Craig
V`20Taylor`20(duck@pembvax1.pembroke.edu)
X$!`20-`20Scan`20and`20generate`20.com`20file`20for`20mail-server....
X$!`20release`20010393
X$!
X$!`20parses`20requests.txt
X$!
X$`20set`20default`20workdir
X$`20!
X$`20open/read`20infil`20workdir:requests.txt
X$`20open/write`20outfil`20workdir:doit.com
X$`20open/append`20logfil`20workdir:mailserv.log
X$`20!
X$`20!`20write`20initialization`20stuff...
X$`20write`20outfil`20"$`20!generated`20by`20t.com`20"`20`20!`20be`20sure`20to
V`20create`20a`20new`20version.
X$`20write`20logfil`20"%%-Started`20"+f$time()
X$`20!`20
X$`20!`20States`20->`200`20=`20looking`20for`20from
X$`20!`20`20`20`20`20`20`20`20`20`20`201`20=`20skipping`20subjects`20(local)
X$`20!`20`20`20`20`20`20`20`20`20`20`202`20=`20skipping`20subjects`20(far)
X$`20!`20`20`20`20`20`20`20`20`20`20`203`20=`20skipping`20blanks`20/`20looking
V`20for`20commands.
X$`20!`20`20`20`20`20`20`20`20`20`20`204`20=`20looking`20for`20commands
X$`20!`20`20`20`20`20`20`20->>>`20then`20back`20to`200.
X$`20!
X$`20state`20=`200
X$`20whofrom`20=`20""
X$`20loop:
X$`20`20`20read/end=endrun`20infil`20line
X$`20`20`20line=f$edit(line,"compress,`20lowercase")
X$`20`20`20if`20(line`20.eqs.`20"`0C")`20
X$`20`20`20then
X$`20`20`20`20`20state`20=`200
X$`20`20`20`20`20goto`20loop
X$`20`20`20endif
X$`20`20`20if`20(state`20.eqs.`203)`20.and.`20(f$length(line)`20.eqs.`200)`20th
Ven`20goto`20loop
X$`20`20`20if`20(state`20.eqs.`200)`20.and.`20(line`20.eqs.`20"")`20then`20goto
V`20loop
X$`20`20`20if`20(state`20.eqs.`200)`20.and.`20(f$locate("from:",line)`20.eqs.
V`200)`20
X$`20`20`20then
X$`20`20`20`20`20state`20=`201
X$`20`20`20`20`20num`20=`20f$length(line)-f$locate("mx%",line)-3
X$`20`20`20`20`20temp`20=`20f$extract(f$locate("mx%",line),num,line)
X$`20`20`20`20`20whofrom`20=`20f$extract(0,f$locate("`20",temp),temp)
X$`20`20`20`20`20goto`20loop
X$`20`20`20endif
X$`20`20`20if`20(state`20.gt.`202)`20then`20goto`20a2
X$`20`20`20if`20(line`20.nes.`20"")`20then`20goto`20loop`20`20`20`20`20`20!stat
Ves`201`20and`202
X$`20`20`20`20`20`20state`20=`20state+1
X$`20`20`20`20`20`20goto`20loop
X$`20!`20now`20=`20state`203>=`20`20->`20write`20output`20until`20null
X$`20a2:
X$`20state`20=`204`20`20`20
X$`20`20`20if`20(line`20.eqs.`20"")`20
X$`20`20`20`20`20then
X$`20`20`20`20`20`20`20state`20=`200`20`20`20!`20go`20back`20to`20looking`20for
V`20"from"
X$`20`20`20`20`20`20`20goto`20loop
X$`20`20`20`20`20else
X$`20`20`20`20`20`20`20if`20(f$locate("send`20",line)`20.eqs.`200)`09`09!`20hha
Vndle`20send`20command
X$`20`20`20`20`20`20`20`20then
X$`20`20`20`20`20`20`20`20`20`20num`20=`20f$length(line)-f$locate("send`20",lin
Ve)-5
X$`20`20`20`20`20`20`20`20`20`20temp`20=`20txtdir`20+`20f$extract(5,num,line)
X$`20`20`20`20`20`20`20`20`20`20if`20(f$search(temp)`20.nes.`20"")`20
X$`20`20`20`20`20`20`20`20`20`20`20`20then
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20"$`20mail`20"
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20"send`20"+temp
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20whofrom
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20"MAILSERVER`20REQU
VEST:"+line
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20"quit"
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20"$`20!`20"+line
X$`09`20`20`20`20`20`20`20write`20logfil`20"SENT:`20`20`20`09`09"+line+"`09"+wh
Vofrom
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20goto`20loop
X$`20`20`20`20`20`20`20`20`20`20`20`20else
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20"$`20mail`20"
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20"send`20"+txtdir+"
Verror.txt"
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20whofrom
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20"MAILSERVER`20FILE
V`20NOT`20FOUND:"+line
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20"quit"
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20"$`20!`20"+line
X$`09`20`20`20`20`20`20`20write`20logfil`20"%%-SEND-ERROR:`09"+line+"`09"+whofr
Vom
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20goto`20loop
X$`20`20`20`20`20`20`20`20`20`20`20`20endif
X$`20`20`20`20`20`20`20`20endif
X$`20`20`20`20`20`20`20if`20(f$locate("psend`20",line)`20.eqs.`200)`09`09!`20ha
Vndle`20psend`20command
X$`20`20`20`20`20`20`20`20then
X$`20`20`20`20`20`20`20`20`20`20num`20=`20f$length(line)-f$locate("psend`20",li
Vne)-6
X$`20`20`20`20`20`20`20`20`20`20temp`20=`20bindir+f$extract(6,num,line)
X$`20`20`20`20`20`20`20`20`20`20if`20(f$search(temp)`20.nes.`20"")`20
X$`20`20`20`20`20`20`20`20`20`20`20`20then
X$`09`20`20`20`20`20`20`20write`20outfil`20"uuencode`20"+temp+"`20"+bindir+"tem
Vp.txt"
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20"$`20mail`20"
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20"send`20"+bindir+"
Vtemp.txt"
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20whofrom
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20"MAILSERVER`20REQU
VEST:"+line
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20"quit"
X$`09`20`20`20`20`20`20`20write`20outfil`20"$`20del`20"+bindir+"temp.txt;"
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20"$`20!`20"+line
X$`09`20`20`20`20`20`20`20write`20logfil`20"PSENT:`20`20`20`09`09"+line+"`09"+w
Vhofrom
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20goto`20loop
X$`20`20`20`20`20`20`20`20`20`20`20`20else
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20"$`20mail`20"
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20"send`20"+txtdir+"
Verror.txt"
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20whofrom
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20"MAILSERVER`20FILE
V`20NOT`20FOUND:"+line
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20"quit"
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20"$`20!`20"+line
X$`09`20`20`20`20`20`20`20write`20logfil`20PSEND-ERROR:`09"+line+"`09"+whofrom
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20goto`20loop
X$`20`20`20`20`20`20`20`20`20`20`20`20endif
X$`20`20`20`20`20`20`20`20endif
X$`20`20`20`20`20`20`20`20if`20(f$locate("status",line)`20.eqs.`200)`20`09`09!
V`20send`20file
X$`20`20`20`20`20`20`20`20then
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20"$`20mail`20"
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20"send`20"+txtdir+"
Vstatus.txt"
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20whofrom
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20"MAILSERVER`20STAT
VUS:"+line
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20"quit"
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20"$`20!`20"+line
X$`09`20`20`20`20`20`20`20write`20logfil`20"STATUS`09`20`09`09`09"+whofrom
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20goto`20loop
X$`20`20`20`20`20`20`20`20endif
X$`20`20`20`20`20`20`20`20if`20(f$locate("help",line)`20.eqs.`200)`20`09`09!
V`20send`20help`20file
X$`20`20`20`20`20`20`20`20then
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20"$`20mail`20"
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20"send`20"+txtdir+"
Vdocumentation.txt"
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20whofrom
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20"MAILSERVER`20HELP
V:"+line
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20"quit"
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20"$`20!`20"+line
X$`09`20`20`20`20`20`20`20write`20logfil`20"HELP`09`20`09`09`09"+whofrom
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20goto`20loop
X$`20`20`20`20`20`20`20`20endif
X$`20`20`20`20`20`20`20`20if`20(f$locate("catalog",line)`20.eqs.`200)`20`09`09!
V`20send`20catalog`20file
X$`20`20`20`20`20`20`20`20then
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20"$`20mail`20"
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20"send`20"+txtdir+"
Vcatalog.txt"
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20whofrom
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20"MAILSERVER`20CATA
VLOG:"+line
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20"quit"
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20"$`20!`20"+line
X$`09`20`20`20`20`20`20`20write`20logfil`20"CATALOG`09`09`09`09"+whofrom
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20goto`20loop
X$`20`20`20`20`20`20`20`20endif
X$`20`20`20`20`20`20`20`20if`20(f$locate("subscribe",line)`20.eqs.`200)`09!`20a
Vdd`20"from"`20name`202`20list
X$`20`20`20`20`20`20`20`20then
X$`20`20`20`20`20`20`20`20`20`20`20`20open/append`20temp_file`20workdir:mag.dis
V
X$`20`20`20`20`20`20`20`20`20`20`20`20write`20temp_file`20whofrom
X$`20`20`20`20`20`20`20`20`20`20`20`20close`20temp_file
X$`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20"$`20mail`20"
X$`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20"send`20"+txtdir+"subscr
Vibed.txt"
X$`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20whofrom
X$`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20"MAILSERVER`20SUBSCRIBED
V:"+line
X$`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20"quit"
X$`20`20`20`20`20`20`20`20`20`20`20`20write`20outfil`20"$`20!`20"+line
X$`20`20`20`20`20`20`20`20`20`20`20`20write`20logfil`20"SUBSCRIBED`09`09`09`09"
V+whofrom
X$`20`20`20`20`20`20`20`20`20`20`20`20goto`20loop
X$`20`20`20`20`20`20`20`20endif
X$`20`20`20`20endif
X$`20goto`20`20loop
X
X$`20endrun:
X$`20`20`20`20write`20logfil`20"%%-END-OF-RUN`20"+f$time()+"`20%%"
X$`20`20`20`20close`20logfil
X$`20`20`20`20close`20outfil
X$`20`20`20`20close`20infil
$ call unpack SCAN.COM;5 557998421 ""
$ v=f$verify(v)
$ exit
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads