SysOp Mail Dashboard – Mail Utility v4.0
Author: Little John
———————————————————————————————
; Mail Utility seg ; by Little John ; 9/23/88 on nocar goto no.car print \; main print \"Mail Utility program... Enter Command : "chr$(8);:gosub getkey2:print i$; if i$="?" print chr$(8)"Menu":gosub help if i$="Q" print "uit":goto quit if i$="S" print "can users":gosub scan.usrs if i$="R" print "ead someone's mail":gosub read.1.pers if i$="A" print "ead all mail":gosub read.all if i$="P" print "rint all mail":gosub print.all if i$="M" print "ake file post":gosub file.pst if i$="T" print "urn file --> mail":gosub file.mail goto main help setint(1):print ' ____________________________ | | | Mail Util V4.0 | | Seg by : Little John | | | | [Q] Quit to system menu | | [S] Scan users | | [R] Read a persons mail | | [A] Read all new mail | | [P] Print all mail | | [M] Make file post | | [T] Turn a file into mail | |____________________________|':setint(""):return read.all print \"Scanning user# "; for x=1 to nu nu$=str$(x) print x;:print chr$(8,len(nu$)); if not msg(x) then next:else ready #msg(x):q9=x:gosub read.1:x=q9:print \"Scanning user# ";:next return read.1.pers ready "g:mail" print \"Enter user# of person's mail you want to read : "; input @2 i$:i=val(i$) if not msg(i) print \"That user has no mail":return gosub rd.user ready #msg(i) read.1 if ii$="P" x=5:else x=0 input #7,i$:d=val(i$) if i$="" then ma=1:return read.2 print #x,"-<=>-!-<=>-!-<=>-!-<=>-!-<=>-!-<=>-!-<=>-"\ setint(2):copy #7,#x print #x,\">-=-<+>-=-<+>-=-<+>-=-<+>-=-<+>-=-<+>-=-<" setint(""):if key(2) goto read.1 read.3 if qs=4 goto read.1 print \"[E]dit [K]ill [R]eread [F]orward [C]ontinue" print "[M]ake Bulletin [P]rint [W]rite as a file [Q]uit" print "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=" print "Your choice? [def=C] : "chr$(8);:gosub getkey2:print i$; if (i$=chr$(13)) or (i$="C") then goto read.1 if i$="R" print "eread":rewind:x=0:goto read.2 if i$="F" print "orward mail":goto forward if i$="E" print "dit mail":goto edit if i$="K" print "ill mail":kill #msg(i):update:print \"Mail killed...":return if i$="M" print "ake it a post":goto bul.make if i$="P" print "rint mail":goto print if i$="W" print "rite as a file":goto wrt.msg if i$="Q" print "uit":return goto read.3 edit input @2 \"Edit: Are you positive (y/N) : " i$ if left$(i$,1)<>"Y" return edit(0):input #msg(i),a$ copy #6,#8:edit(1):if not edit(2) return x=msg(a):kill #msg(a):print #msg(i),a$ copy #8,#6:msg(a)=x:update:return forward print \"Forward letter" a=d:gosub mail.who if d=0 then d=a:return rewind:s=7 input @3 "Subject: "sb$:if sb$="" sb$="For your information" h$=" This is a forwarded letter from another user " r$=".letter forwarded":gosub snd.bulk d=a:return mail.who input @2 \"To who: [Alias], [User #], [Return] : " i$ clear #10:if i$="" then d=0:return gosub mail.wh2:print #10,d\0:return mail.wh2 if val(left$(i$,1)) goto snd.num d$=i$:if (d$="SYSOP") or (d$=sys$) then d=1:return if not instr(" ",i$) goto snd.usr2 open #1,"b:users":d=1 snd.user position #1,128,d input #1,a$,b$\c$ if (a$+" "+b=d$) or (a$+b$=d$) close:return if d<nu then d=d+1:goto snd.user close:d=0 print \d$" is not a user":return snd.usr2 print \"That user does not exist" d=0:return snd.num d=val(i$) if (d<1) or d>nu) goto snd.usr2 move ram,58 to ram2:open #1,"b:users" position #1,128,d:input #1,a$,b$\c$ position #1,128,d,70:read #1,ram,58 close:move ram2,58 to ram if a$="" goto snd.usr2 print \"Send to "c$", last on "when$; input @2 " (Y/n) : " i$ if left(i$,1)="N" then d=0 return snd.bulk print \edit(2)" characters written" print "Hold..";:mark(10)=0 snd.blk2 input #10,d:if d=0 print r$:return gosub wr.ltr:print ".";:if s=7 rewind goto snd.blk2 wr.ltr ready "g:mail" if info(6)<29 print \"Mail bit-map full":return wr.ltr2 print #msg(d),un:if h$<>"" print #6,h$\ print #6,"[Subj]: "sb$ print #6,"[From]: "a3$" (#"un")" print #6,"[Date]: "date$" "time$\ copy #s,#6:print #msg(d),chr$(4);chr$(0); msg(d)=1:update:return scan.usrs kill "g:people.mail":create "g:people.mail" open #1,"g:people.mail" print #1,"Usr# User Name:" close #1 ready "g:mail" print \"Scanning user# "; for x=1 to nu nu$=str$(x) print x;:print chr$(8,len(nu$)); if not msg(x) then next:else gosub scan.2:next print \:copy "g:people.mail":return scan.2 open #1,"b:users" position #1,128,x input #1,x$,x$\n9$\x$,x$ close #1 nt$=right$(" "+nu$,4) open #1,"g:people.mail" append #1 print #1,nt$" "n9$ close #1 return bul.make input @2 \"Post this mail on board #" i$:zx=val(i$) edit(0):input #msg(i),a$\b$\c$:copy #6,#8 x=msg(a):bb=zx:gosub idinf h$=n9$+"'s mail":sb$=" "+a3$+" #"+str$(un):d$=" People on this board" zx=msg(0)+1:gosub wr.ltr4 print \"The mail is now the "bn$" board.":return wr.ltr4 print #msg(zx),h$\d$\sb$ print #6,"[Date]: "date$" at "time$ print #6,a$\b$\c$:copy #8,#6 msg(zx)=1:update:return idinf if bb=0 then bf$="":bl=0:return me=0:bl=bb:open #1,"b:data2" mark(1)=1120:input #1,ab if bb>ab close:bf$="":bl=0:return position #1,128,bb+8 input #1,bn$\bf$\b3,b4\bs,bs$\mb,kl,kb close:if bf$="" then bl=0:return ready bf$:nn=nb return print ii$="P":goto read.1.pers print.all ii$="P":qs=4:gosub read.all:qs=0:return file.show setint(""):copy f$:return quit link "a:system.seg" no.car link "a:main.seg","term1" rd.user open #1,"b:users" position #1,128,i input #1,x$,x$\n9$\x$,x$ close #1:ur=i:return getkey2 zy=0 get22 if (clock(2)<>0) and (clock(1)>clock(2)) print\"Time Limit Exceeded":goto no.car zz=peek(-16384) if (zz=129) or (zz=150) get i$:return zz=key(0):if (zz>96) and (zz<123) zz=zz-32 if zz<>0 i$=chr$(zz):return goto get22 file.pst input @3 \"This goes to whom : " d$:d$=" "+d$ h$="":input @3 \"Subject of file post : " sb$ clear #8:input @3 \"Filename : " i$:copy i$,#8 print \edit(2)" bytes in file":edit(1) input @2 \"Post this file on board #" i$:zx=val(i$) x=msg(a):bb=zx:gosub idinf h$=sb$:sb$=" "+a3$+" (#"+str$(un)+")" zx=msg(0)+1:gosub wr.ltr4 print \"The file is now the "bn$" board.":return wrt.msg input @2 \"Filename (to write) : " i$ if i$="" goto read.3 create i$:open #1,i$:append #1 copy #msg(a),#1:close print \"It's now a file on that drive specifier" goto read.3 file.mail input @2 \"Filename to send : "j$:if j$="Q" return edit(0):copy j$,#8 gosub mail.who:input @3 \"Reason for this mail : "d$ sb$="One of the Sysop's files" s=8:gosub wr.ltr:print \"The mail has been sent to user #"d:return