home *** CD-ROM | disk | FTP | other *** search
/ C!T ROM 2 / ctrom_ii_b.zip / ctrom_ii_b / WINDOWS / DATACOM / RFDML112 / VMS.SCR < prev    next >
Text File  |  1993-11-09  |  13KB  |  470 lines

  1. ;------------------------------------------------------
  2. ;
  3. ;VMS.SCR --- The script file for VMS
  4. ;
  5. ;------------------------------------------------------
  6. ;
  7. ;   We begin with the format specifiers to which allow
  8. ;the script to identify where the MailId, RealName,
  9. ;and Subject texts are in a newly downloaded letter.
  10. ;
  11. Format
  12. Subject: $SUBJECT$\n
  13. Subj:    $SUBJECT$\n
  14. From:    $UID$
  15. From:    $UID$"$NAME$"
  16. Endformat
  17. ;------------------------------------------------------
  18. ;
  19. ;   Next is a set of aliases which determine various
  20. ; items such as where some of the standard commands
  21. ; like 'mail' live.
  22. ;
  23. ;
  24. Alias sendmail 'send/noedit/cc_prompt '
  25. Alias readmail 'mail '
  26. Alias checkformail 'set folder newmail'
  27. Alias saveletter 'extract '
  28. Alias deleteletter 'd '
  29. Alias quitmail 'e'
  30. Alias mailnull '#'
  31. Alias mailshellesc 'spawn '
  32. Alias rm 'del/noconfirm '
  33. Alias logoff 'log'
  34. ;
  35. ;------------------------------------------------------
  36. ;
  37. ; The following aliases determine the command to use for
  38. ; transfer, and the prompts the upload program will send
  39. ; when it's ready to send data.  Adjust these to reflect the
  40. ; location of sz.exe and rz.exe on your system:
  41. ;
  42. Alias sz 'mcr SYS$LOGIN_DEVICE:[yon.bin]sz '
  43. Alias rz 'mcr SYS$LOGIN_DEVICE:[yon.bin]rz -a '
  44. Alias szprompt1 '\n**'
  45. Alias rzprompt1 '\n**'
  46. Alias rzprompt2 '0000'
  47. ;------------------------------------------------------
  48. ;
  49. ; The following aliases determine the various prompts the
  50. ; script will look for.  The most important one is the
  51. ; 'prompt' alias, which will need to be adjusted to match
  52. ; the prompt that your VMS host gives.
  53. ;
  54. Alias prompt '\n$ '
  55. Alias mailprompt '\nMAIL> '
  56. Alias toprompt '\nTo:'
  57. Alias subjectprompt '\nSubj: '
  58. Alias ccprompt1 'Cc:'
  59. Alias ccprompt2 'CC:'
  60. Alias ccprompt3 'cc:'
  61. Alias havemailprompt '%MAIL-I-SELECTED'
  62. Alias nomailprompt '%MAIL-E-NOTEXIST'
  63. Alias nomailprompt2 '%MAIL-E-NOMSGS'
  64. Alias badaddressprompt '%MAIL-E-NOSUCHUSR'
  65. Alias loginprompt '\nUsername:'
  66. Alias passwdprompt '\nPassword:'
  67. ;------------------------------------------------------
  68. ;
  69. ; The following aliases determine what the script will look
  70. ; for to determine that we've successfully logged in
  71. ; (banner1-3), and what it will look for to determine that
  72. ; we've successfully logged out (logoffbanner1-2)
  73. ;
  74. Alias banner1 'Corp'
  75. Alias banner2 'UNAUTHORIZED ACCESS'
  76. Alias banner3 '\nVMS '
  77. Alias logoffbanner1 %loginprompt%
  78. Alias logoffbanner2 'disconnected'
  79. ;
  80. ;------------------------------------------------------
  81. ;
  82. ; The following alias determines what intermediate network
  83. ; will be assumed.  It can be one of the following:
  84. ;
  85. ;    DIRECT    Direct connection to the host (default)
  86. ;    DIRLAT    Direct connection to a LAT
  87. ;    LAT    Dialup LAT where you need to give a login
  88. ;
  89. Alias connectype DIRECT
  90. ;
  91. ; The following alias should be set TRUE if your modem
  92. ; drops carrier every time you make a connection.  This
  93. ; alias simply forces the script to wait 2 seconds for
  94. ; the connection to settle before starting the script.
  95. ;
  96. Alias waitasec FALSE
  97. ;
  98. ;------------------------------------------------------
  99. ;
  100. ; Set the following aliases to reflect your LAT's prompt if you
  101. ; are connecting through a LAT:
  102. ;
  103. Alias latprompt1 'local>'
  104. Alias latprompt2 'Local>'
  105. ;
  106. ; Set the following alias to be the command which connects your LAT
  107. ; to the host
  108. ;
  109. Alias hostconnect 'open host'
  110. ;
  111. ;------------------------------------------------------
  112. ; This is the main entry-point for the script, which
  113. ; decides which intermediate network will be used to
  114. ; connect to the host.
  115. ;
  116. Begin START
  117.    If %waitasec% Then WAIT_START
  118.    If TRUE Then %connectype%
  119. End
  120. Begin WAIT_START
  121.    Timeout 2 Goto %connectype%
  122. End
  123. ;------------------------------------------------------
  124. ; These two states handle connecting to the host
  125. ; once we're directly connected to the LAT
  126. ;
  127. Begin DIRLAT
  128.    Caption 'connected'
  129.    Cr
  130.    When %latprompt1% Goto LOCAL_PROMPT
  131.    When %latprompt2%  Goto LOCAL_PROMPT
  132.    Timeout 3 Goto START
  133. End
  134. Begin LOCAL_PROMPT
  135.    Transmit %hostconnect%
  136.    Cr
  137.    When %latprompt1% Goto LOCAL_PROMPT
  138.    When %latprompt2%  Goto LOCAL_PROMPT
  139.    When %loginprompt% Goto USERNAME
  140.    Timeout 30 Goto GIVE_UP
  141. End
  142. ;------------------------------------------------------
  143. ; At this point we've seen the host's login prompt, and
  144. ; are attempting to log in.
  145. ;
  146. Begin USERNAME
  147.    Transmit $USERNAME
  148.    Cr
  149.    When %passwdprompt% Goto PASSWORD
  150.    When %loginprompt% Goto USERNAME
  151.    Timeout 120 Goto NO_LOGIN
  152. End
  153. Begin PASSWORD
  154.    Transmit $PASSWORD
  155.    Cr
  156.    When %passwdprompt% Goto PASSWORD
  157.    When %loginprompt% Goto USERNAME
  158.    When %banner1% Goto LOGGED_IN
  159.    When %banner2% Goto LOGGED_IN
  160.    When %banner3% Goto LOGGED_IN
  161.    When %prompt% Goto JUMP_TO_MAIL
  162.    Timeout 120 Goto NO_LOGIN
  163. End
  164. Begin LOGGED_IN
  165.    Caption 'logged in'
  166.    When %prompt% Goto JUMP_TO_MAIL
  167.    Timeout 120 Goto NO_LOGIN
  168. End
  169. ;------------------------------------------------------
  170. ; These states check to see if there is any mail waiting
  171. ; by running the host's mail program and looking for
  172. ; keywords indicating the presence/absence of mail.
  173. ; If there's mail (and the script is in fetch mode),
  174. ; then the FETCH_FROM_MAIN_MENU sequence is started.
  175. ; If there's no mail, but there are letters to send,
  176. ; the SEND_MAIL sequence is started.  Otherwise the
  177. ; script just logs off.
  178. ;
  179. Begin JUMP_TO_MAIL
  180.    Transmit %readmail%
  181.    Cr
  182.    When %mailprompt% Goto CHECK_FOR_MAIL
  183. End
  184. Begin CHECK_FOR_MAIL
  185.    Transmit %checkformail%
  186.    Cr
  187.    When %nomailprompt% Goto NO_MAIL_WAITING
  188.    When %havemailprompt% Goto MAIL_WAITING
  189.    Timeout 10 Goto RETRY_JUMP
  190. End
  191. Begin RETRY_JUMP
  192.    Transmit %readmail%
  193.    Cr
  194.    When %nomailprompt% Goto NO_MAIL_WAITING
  195.    When %havemailprompt% Goto MAIL_WAITING
  196.    Timeout 15 Goto GIVE_UP
  197. End
  198. Begin MAIL_WAITING
  199.    Caption 'You Have Mail'
  200.    If FETCHING Then FETCH_FROM_MAIN_MENU
  201.    If MORE_LETTERS Then SEND_BUT_QUIT
  202.    When %mailprompt% Goto QUIT_MAIL
  203.    Timeout 120 Goto LOG_OFF
  204. End
  205. Begin NO_MAIL_WAITING
  206.    Caption 'No Mail'
  207.    If MORE_LETTERS Then SEND_MAIL
  208.    When %mailprompt% Goto QUIT_MAIL
  209.    Timeout 15 Goto GIVE_UP
  210. End
  211. Begin QUIT_MAIL
  212.    Transmit %quitmail%
  213.    Cr
  214.    When %mailprompt% Goto QUIT_MAIL
  215.    When %prompt% Goto LOG_OFF
  216.    Timeout 15 Goto GIVE_UP
  217. End
  218. Begin SEND_BUT_QUIT
  219.    Transmit %quitmail%
  220.    Cr
  221.    When %mailprompt% Goto SEND_BUT_QUIT
  222.    When %prompt% Goto REQUEST_UPLOAD_LETTER
  223.    Timeout 15 Goto GIVE_UP
  224. End
  225. ;------------------------------------------------------
  226. ; These states execute for each letter to be downloaded.
  227. ; They save the letter to the mail.tmp file, download
  228. ; the file, instruct RFD to put the letter in the In Box,
  229. ; delete the letter on the host, then check for more mail.
  230. ;
  231. Begin FETCH_FROM_MAIN_MENU
  232.    ClearIndex
  233.    NextIndex
  234.    When %mailprompt% Goto DEL_TMPFILE
  235.    Timeout 20 Goto DEL_TMPFILE
  236. End
  237. Begin DEL_TMPFILE
  238.    Transmit %mailshellesc%
  239.    Transmit %rm%
  240.    Transmit $LETTER.FILENAME
  241.    Transmit ';*'
  242.    Cr
  243.    When %mailprompt% Goto SELECT_LETTER
  244.    Timeout 20 Goto SELECT_LETTER
  245. End
  246. Begin SELECT_LETTER
  247.    Transmit 'current'
  248.    Cr
  249.    When %mailprompt% Goto SAVE_CURLETTER
  250.    When %nomailprompt2% Goto NO_MORE_MAIL
  251.    Timeout 20 Goto SAVE_CURLETTER
  252. End
  253. Begin SAVE_CURLETTER
  254.    Transmit %saveletter%
  255.    Transmit $LETTER.FILENAME
  256.    Cr
  257.    When %mailprompt% Goto REQUEST_DOWNLOAD
  258.    Timeout 10 Goto REQUEST_DOWNLOAD
  259. End
  260. Begin REQUEST_DOWNLOAD
  261.    Caption 'Fetching Mail'
  262.    Transmit %mailshellesc%
  263.    Transmit %sz%
  264.    Transmit $LETTER.FILENAME
  265.    Cr
  266.    When %szprompt1% Goto DOWNLD_LETTER
  267.    Timeout 20 Goto ABORT_DOWNLD
  268. End
  269. Begin ABORT_DOWNLD
  270.    Control X
  271.    Control X
  272.    Control X
  273.    Control X
  274.    Control X
  275.    Control X
  276.    Control X
  277.    Control C
  278.    When %prompt% Goto JUMP_TO_MAIL
  279.    When %mailprompt% Goto REQUEST_DOWNLOAD
  280.    Timeout 200 Goto JUMP_TO_MAIL
  281. End
  282. Begin DOWNLD_LETTER
  283.    Download ZMODEM Then DOWNLD_SUCCESS Else GIVE_UP
  284. End
  285. Begin DOWNLD_SUCCESS
  286.    Confirm LETTER.RECEIVED Successful
  287.    Caption 'Letter Received'
  288.    When %mailprompt% Goto DELETE_LETTER
  289.    Timeout 5 Goto SEND_DOWNLD_CR
  290. End
  291. Begin SEND_DOWNLD_CR
  292.    Transmit %mailnull%
  293.    Cr
  294.    When %mailprompt% Goto DELETE_LETTER
  295.    Timeout 5 Goto SEND_DOWNLD_CR
  296. End
  297. Begin DELETE_LETTER
  298.    Caption 'Deleting Letter'
  299.    Transmit %deleteletter%
  300.    Transmit $INDEX
  301.    Cr
  302.    NextIndex
  303.    When %mailprompt% Goto DEL_TMPFILE
  304.    Timeout 10 Goto DEL_TMPFILE
  305. End
  306. Begin NO_MORE_MAIL
  307.    Caption 'Fetched Mail'
  308.    If MORE_LETTERS Then SEND_MAIL
  309.    When %mailprompt% Goto QUIT_MAIL
  310.    Timeout 10 Goto LOG_OFF
  311. End
  312. ;------------------------------------------------------
  313. ; These states execute for each letter to send.  First
  314. ; the letter is uploaded into the mail.tmp file, then
  315. ; the host's mail program is run, giving it the address,
  316. ; then the subject, body, and CC information.
  317. ;
  318. Begin SEND_MAIL
  319.    When %mailprompt% Goto DEL_UPLOAD_TMPFILE
  320.    Timeout 15 Goto GIVE_UP
  321. End
  322. Begin DEL_UPLOAD_TMPFILE
  323.    Transmit %mailshellesc%
  324.    Transmit %rm%
  325.    Transmit $LETTER.FILENAME
  326.    Transmit ';*'
  327.    Cr
  328.    When %mailprompt% Goto REQUEST_UPLOAD_LETTER
  329.    Timeout 20 Goto REQUEST_UPLOAD_LETTER
  330. End
  331. Begin REQUEST_UPLOAD_LETTER
  332.    Transmit %mailshellesc%
  333.    Transmit %rz%
  334.    Cr
  335.    When %rzprompt1% Goto BEGIN_LETTER_UPLOAD
  336.    When %rzprompt2% Goto BEGIN_LETTER_UPLOAD
  337.    Timeout 20 Goto GIVE_UP
  338. End
  339. Begin BEGIN_LETTER_UPLOAD
  340.    NewLetter
  341.    Upload ZMODEM Then UPLOAD_SUCCESS Else GIVE_UP
  342. End
  343. Begin UPLOAD_SUCCESS
  344.    Caption 'Letter Uploaded'
  345.    Transmit %mailnull%
  346.    Cr
  347.    When %mailprompt% Goto SEND_LETTER
  348.    Timeout 5 Goto END_LETTER_UPLOAD
  349. End
  350. Begin END_LETTER_UPLOAD
  351.    Transmit %mailnull%
  352.    Cr
  353.    When %mailprompt% Goto SEND_LETTER
  354.    Timeout 5 Goto END_LETTER_UPLOAD2
  355. End
  356. Begin END_LETTER_UPLOAD2
  357.    Transmit %mailnull%
  358.    Control C
  359.    When %mailprompt% Goto SEND_LETTER
  360.    Timeout 5 Goto GIVE_UP
  361. End
  362. Begin SEND_LETTER
  363.    Transmit %sendmail%
  364.    Transmit $LETTER.FILENAME
  365.    Cr
  366.    When %toprompt% Goto SEND_DEST
  367.    When %mailprompt% Goto RETRY_SEND_LETTER
  368.    Timeout 15 Goto GIVE_UP
  369. End
  370. Begin RETRY_SEND_LETTER
  371.    Transmit %sendmail%
  372.    Transmit $LETTER.DEST.USERNAME
  373.    Cr
  374.    When %toprompt% Goto SEND_DEST
  375.    Timeout 15 Goto GIVE_UP
  376. End
  377. Begin SEND_DEST
  378.    Transmit $LETTER.DEST.USERNAME
  379.    Cr
  380.    When %toprompt% Goto SEND_DEST
  381.    When %badaddressprompt% Goto BAD_ADDRESS
  382.    When %ccprompt1% Goto SEND_CC
  383.    When %ccprompt2% Goto SEND_CC
  384.    When %ccprompt3% Goto SEND_CC
  385.    Timeout 15 Goto GIVE_UP
  386. End
  387. Begin SEND_CC
  388.    CreateCC 0 0 Delimiter ','
  389.    Transmit $LETTER.CC
  390.    Cr
  391.    When %ccprompt1% Goto SEND_CC
  392.    When %ccprompt2% Goto SEND_CC
  393.    When %ccprompt3% Goto SEND_CC
  394.    When %subjectprompt% Goto SEND_SUBJECT
  395.    Timeout 30 Goto GIVE_UP
  396. End
  397. Begin SEND_SUBJECT
  398.    Transmit $LETTER.SUBJECT
  399.    Cr
  400.    When %mailprompt% Goto LETTER_SENT
  401.    When %subjectprompt% Goto SEND_SUBJECT
  402.    Timeout 30 Goto GIVE_UP
  403. End
  404. Begin LETTER_SENT
  405.    Caption 'Letter Sent'
  406.    Confirm LETTER.SENT Successful
  407.    Transmit %mailshellesc%
  408.    Transmit %rm%
  409.    Transmit $LETTER.FILENAME
  410.    Transmit ';*'
  411.    Cr
  412.    When %mailprompt% Goto SEND_MORE_MAIL
  413.    Timeout 15 Goto GIVE_UP
  414. End
  415. Begin SEND_MORE_MAIL
  416.    If MORE_LETTERS Then REQUEST_UPLOAD_LETTER
  417.    If TRUE Then QUIT_MAIL
  418. End
  419. Begin BAD_ADDRESS
  420.     Caption 'Unknown Address'
  421.     Confirm LETTER.SENT Unsuccessful
  422.     When %mailprompt% Goto FAIL_LETTER
  423.     Timeout 120 Goto FAIL_LETTER
  424. End
  425. Begin FAIL_LETTER
  426.    Transmit %mailshellesc%
  427.    Transmit %rm%
  428.    Transmit $LETTER.FILENAME
  429.    Transmit ';*'
  430.    Cr
  431.    When %mailprompt% Goto SEND_MORE_MAIL
  432.    Timeout 15 Goto GIVE_UP
  433. End
  434. ;------------------------------------------------------
  435. ; These states deal with logging off the system
  436. ;
  437. Begin WAIT_TO_LOG_OFF
  438.    When %prompt% Goto LOG_OFF
  439.    Timeout 20 Goto GIVE_UP
  440. End
  441. Begin LOG_OFF
  442.    Transmit %logoff%
  443.    Cr
  444.    Caption 'Logging off'
  445.    When 'NO CAR' Goto EXIT_PROGRAM
  446.    When %logoffbanner1% Goto HANGUP_PHONE
  447.    When %logoffbanner2% Goto HANGUP_PHONE
  448.    When %prompt% Goto LOG_OFF
  449.    CarrierLoss Goto EXIT_PROGRAM
  450.    Timeout 20 Goto GIVE_UP
  451. End
  452. Begin EXIT_PROGRAM
  453.    Caption 'Logged off'
  454.    Timeout 3 Goto BYE_BYE
  455. End
  456. Begin GIVE_UP
  457.    Caption 'Aborting'
  458.    Hangup
  459. End
  460. Begin HANGUP_PHONE
  461.    Hangup
  462. End
  463. Begin NO_LOGIN
  464.    Timeout 5 Goto GIVE_UP
  465. End
  466. Begin BYE_BYE
  467.    Exit
  468. End
  469.  
  470.