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

  1. ;------------------------------------------------------
  2. ;
  3. ;MCIMAIL.SCR --- The script file for MCI Mail
  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. From: $NAME$/ MCI ID: $UID$\n
  14. From: $NAME$\n
  15.  MBX: $UID$\n
  16. Endformat
  17. ;
  18. ;------------------------------------------------------
  19. ; The following aliases define some of the standard
  20. ; MCI prompts:
  21. ;
  22. Alias loginprompt 'user name:'
  23. Alias passwdprompt '\nPassword:'
  24. Alias banner1 'MCI Mail'
  25. Alias prompt '\nCommand: '
  26. Alias scrollprompt 'type NO to stop'
  27. ;
  28. ;------------------------------------------------------
  29. ; The following aliases cause the script to use the
  30. ; ZMODEM transfer protocol to upload letters.  Comment
  31. ; them out if you wish to use KERMIT:
  32. ;
  33. ;Alias uploadproto ' zmodem'
  34. ;Alias uploadtype ZMODEM
  35. ;Alias uploadprompt 'Press CONTROL C to cancel the request'
  36. ;
  37. ; The following aliases cause the script to use the
  38. ; KERMIT transfer protocol to upload letters.  Comment
  39. ; them out if you wish to use ZMODEM:
  40. ;
  41. Alias uploadproto ' kermit'
  42. Alias uploadtype KERMIT
  43. Alias uploadprompt 'Press CONTROL C to cancel the request'
  44. ;
  45. ;------------------------------------------------------
  46. ; The following aliases cause the script to use the
  47. ; ZMODEM transfer protocol to download letters.  Comment
  48. ; them out if you wish to use KERMIT:
  49. ;
  50. ;Alias dnloadproto ' zmodem'
  51. ;Alias dnloadtype ZMODEM
  52. ;Alias dnloadprompt 'Press CONTROL C to cancel the request'
  53. ;
  54. ; The following aliases cause the script to use the
  55. ; KERMIT transfer protocol to download letters. Comment
  56. ; them out if you wish to use ZMODEM:
  57. ;
  58. Alias dnloadproto ' kermit'
  59. Alias dnloadtype KERMIT
  60. Alias dnloadprompt 'Press CONTROL C to cancel the request'
  61. ;
  62. ;------------------------------------------------------
  63. ; These states deal with logging in, by sending a CR
  64. ; followed by the username and password.
  65. ;
  66. Begin START
  67.    Caption 'connected'
  68.    Cr
  69.    When %loginprompt% Goto 1ST_USERNAME
  70.    Timeout 10 Goto START
  71. End
  72. ;------------------------------------------------------
  73. Begin 1ST_USERNAME
  74.    When %loginprompt% Goto USERNAME
  75.    Timeout 5 Goto USERNAME
  76. End
  77. ;------------------------------------------------------
  78. Begin USERNAME
  79.    Transmit $USERNAME
  80.    Cr
  81.    When %passwdprompt% Goto PASSWORD
  82.    When %loginprompt% Goto USERNAME
  83.    Timeout 45 Goto NO_LOGIN
  84. End
  85. ;------------------------------------------------------
  86. Begin PASSWORD
  87.    Transmit $PASSWORD
  88.    Cr
  89.    When %passwdprompt% Goto PASSWORD
  90.    When %loginprompt% Goto USERNAME
  91.    When 'Please try again' Goto INVALID_LOGIN
  92.    When %banner1% Goto LOGGED_IN
  93.    Timeout 45 Goto NO_LOGIN
  94. End
  95. ;------------------------------------------------------
  96. Begin INVALID_LOGIN
  97.    When %loginprompt% Goto USERNAME
  98.    When 'Please try again' Goto INVALID_LOGIN
  99.    Timeout 45 Goto NO_LOGIN
  100. End
  101. ;------------------------------------------------------
  102. Begin LOGGED_IN
  103.    Caption 'logged in'
  104.    When %banner1% Goto LOGGED_IN
  105.    When %prompt% Goto CHECK_INCOMING
  106.    Timeout 90 Goto NO_LOGIN
  107. End
  108. ;------------------------------------------------------
  109. Begin CHECK_INCOMING
  110.    If FETCHING Then CHECK_MAIL
  111.    Caption 'Sending Mail'
  112.    NewLetter
  113.    Timeout 1 Goto REQUEST_CREATE
  114. End
  115. ;------------------------------------------------------
  116. Begin CHECK_MAIL
  117.    Transmit 'scan inbox'
  118.    Cr
  119.    When 'Your INBOX is empty' Goto NO_MAIL
  120.    When 'message in INBOX' Goto HAVE_MAIL
  121.    When 'messages in INBOX' Goto HAVE_MAIL
  122.    Timeout 120 Goto GIVE_UP
  123. End
  124. ;------------------------------------------------------
  125. Begin NO_MAIL
  126.    Caption 'No Mail'
  127.    If MORE_LETTERS Then SEND_MAIL
  128.    When %prompt% Goto LOG_OFF
  129.    Timeout 30 Goto GIVE_UP
  130. End
  131. ;------------------------------------------------------
  132. Begin HAVE_MAIL
  133.    Caption 'You Have Mail'
  134.    ClearIndex
  135.    NextIndex
  136.    When %scrollprompt% Goto SCROLL_INBOX
  137.    When %prompt% Goto FETCH_MAIL
  138.    Timeout 120 Goto GIVE_UP
  139. End
  140. ;------------------------------------------------------
  141. Begin SCROLL_INBOX
  142.    Cr
  143.    When %scrollprompt% Goto SCROLL_INBOX
  144.    When %prompt% Goto FETCH_MAIL
  145.    Timeout 120 Goto GIVE_UP
  146. End
  147. ;------------------------------------------------------
  148. Begin FETCH_MAIL
  149.    Caption 'Fetching Mail'
  150.    Transmit 'download '
  151.    Transmit $INDEX
  152.    Transmit %dnloadproto%
  153.    Cr
  154.    When 'press RETURN to skip this segment' Goto SEND_FILENAME
  155.    When 'There is no message numbered' Goto NO_MORE_MAIL
  156.    Timeout 30 Goto GIVE_UP
  157. End
  158. ;------------------------------------------------------
  159. Begin SEND_FILENAME
  160.    Transmit $LETTER.FILENAME
  161.    Cr
  162.    When %dnloadprompt% Goto DOWNLD_LETTER
  163.    Timeout 30 Goto CANCEL_DOWNLOAD
  164. End
  165. ;------------------------------------------------------
  166. Begin CANCEL_DOWNLOAD
  167.    Control X
  168.    Control X
  169.    Control C
  170.    Control C
  171.    When %prompt% Goto FETCH_MAIL
  172.    Timeout 30 Goto GIVE_UP
  173. End
  174. ;------------------------------------------------------
  175. Begin DOWNLD_LETTER
  176.    Download %dnloadtype% Then DOWNLD_SUCCESS Else GIVE_UP
  177. End
  178. ;------------------------------------------------------
  179. Begin DOWNLD_SUCCESS
  180.    Caption 'Letter Received'
  181.    Confirm LETTER.RECEIVED Successful
  182.    NextIndex
  183.    When 'Download request complete' Goto WAIT_FOR_NEXT
  184.    Timeout 30 Goto WAIT_FOR_NEXT
  185. End
  186. ;------------------------------------------------------
  187. Begin WAIT_FOR_NEXT
  188.    When %prompt% Goto FETCH_MAIL
  189.    Timeout 30 Goto GIVE_UP
  190. End
  191. ;------------------------------------------------------
  192. Begin NO_MORE_MAIL
  193.    Caption 'Fetched Mail'
  194.    If MORE_LETTERS Then SEND_MAIL
  195.    When %prompt% Goto LOG_OFF
  196.    Timeout 30 Goto GIVE_UP
  197. End
  198. ;------------------------------------------------------
  199. Begin SEND_MAIL
  200.    Caption 'Sending Mail'
  201.    NewLetter
  202.    When %prompt% Goto REQUEST_CREATE
  203.    Timeout 30 Goto GIVE_UP
  204. End
  205. ;------------------------------------------------------
  206. Begin REQUEST_CREATE
  207.    Transmit 'create'
  208.    Cr
  209.    When 'TO:' Goto TRANSMIT_DEST
  210.    Timeout 20 Goto GIVE_UP
  211. End
  212. ;------------------------------------------------------
  213. Begin TRANSMIT_DEST
  214.    Transmit $LETTER.DEST.USERNAME
  215.    Cr
  216.    When 'TO:' Goto TRANSMIT_CR
  217.    When 'Please enter the number:' Goto ABORT_CREATE
  218.    Timeout 20 Goto GIVE_UP
  219. End
  220. ;------------------------------------------------------
  221. Begin TRANSMIT_CR
  222.    Cr
  223.    When 'CC:' Goto DO_CC
  224.    Timeout 20 Goto GIVE_UP
  225. End
  226. ;------------------------------------------------------
  227. Begin DO_CC
  228.    If LETTER.CC Then TRANSMIT_CC
  229.    Cr
  230.    When 'Subject:' Goto SEND_SUBJECT
  231. End
  232. ;------------------------------------------------------
  233. Begin TRANSMIT_CC
  234.    CreateCC 1 0 Delimiter ' '
  235.    Transmit $LETTER.CC
  236.    Cr
  237.    When 'CC:' Goto DO_CC
  238.    When 'Please enter the number:' Goto ABORT_CREATE
  239.    Timeout 20 Goto GIVE_UP
  240. End
  241. ;------------------------------------------------------
  242. Begin SEND_SUBJECT
  243.    Transmit $LETTER.SUBJECT
  244.    Cr
  245.    When 'Type / on a line by itself to end' Goto REQUEST_UPLOAD
  246.    When 'Subject:' Goto SEND_SUBJECT
  247.    Timeout 30 Goto GIVE_UP
  248. End
  249. ;------------------------------------------------------
  250. Begin REQUEST_UPLOAD
  251.    Caption 'Uploading Letter'
  252.    Transmit '/upload ascii'
  253.    Transmit %uploadproto%
  254.    Cr
  255.    When %uploadprompt% Goto UPLOAD_LETTER
  256.    Timeout 30 Goto GIVE_UP
  257. End
  258. ;------------------------------------------------------
  259. Begin UPLOAD_LETTER
  260.    Upload %uploadtype% Then UPLD_SUCCESS Else UPLD_FAILURE
  261. End
  262. ;------------------------------------------------------
  263. Begin UPLD_FAILURE
  264.    Confirm LETTER.SENT Unsuccessful
  265.    Timeout 1 Goto GIVE_UP
  266. End
  267. ;------------------------------------------------------
  268. Begin UPLD_SUCCESS
  269.    When 'successfully transferred' Goto FINISH_SEND
  270.    Timeout 30 Goto UPLD_FAILURE
  271. End
  272. ;------------------------------------------------------
  273. Begin FINISH_SEND
  274.    Transmit '/'
  275.    Cr
  276.    When 'Handling:' Goto SEND_HANDLING
  277.    Timeout 30 Goto FINISH_SEND
  278. End
  279. ;------------------------------------------------------
  280. Begin SEND_HANDLING
  281.    Caption 'Letter Uploaded'
  282.    Cr
  283.    When 'Send?' Goto SEND_LETTER
  284.    When 'Handling:' Goto SEND_HANDLING
  285.    Timeout 30 Goto GIVE_UP
  286. End
  287. ;------------------------------------------------------
  288. Begin SEND_LETTER
  289.    Transmit 'yes'
  290.    Cr
  291.    When 'Your message was posted' Goto LETTER_SENT
  292.    Timeout 60 Goto UPLD_FAILURE
  293. End
  294. ;------------------------------------------------------
  295. Begin LETTER_SENT
  296.    Caption 'Letter Sent'
  297.    Confirm LETTER.SENT Successful
  298.    If MORE_LETTERS Then SEND_MAIL
  299.    When %prompt% Goto LOG_OFF
  300.    Timeout 30 Goto GIVE_UP
  301. End
  302. ;------------------------------------------------------
  303. Begin ABORT_CREATE
  304.    Caption 'Bad Address'
  305.    Transmit '0'
  306.    Cr
  307.    When 'CC:' Goto ABORT_SEND
  308.    When 'TO:' Goto ABORT_SEND
  309.    Timeout 20 Goto GIVE_UP
  310. End
  311. ;------------------------------------------------------
  312. Begin ABORT_SEND
  313.    Caption 'Letter NOT Sent'
  314.    Transmit '/'
  315.    Cr
  316.    Confirm LETTER.SENT Unsuccessful
  317.    If MORE_LETTERS Then SEND_MAIL
  318.    When %prompt% Goto LOG_OFF
  319.    Timeout 30 Goto GIVE_UP
  320. End
  321. ;------------------------------------------------------
  322. Begin LOG_OFF
  323.    Transmit 'exit'
  324.    Cr
  325.    Caption 'Logging off'
  326.    When 'NO CAR' Goto EXIT_PROGRAM
  327.    CarrierLoss Goto EXIT_PROGRAM
  328.    Timeout 20 Goto GIVE_UP
  329. End
  330. ;------------------------------------------------------
  331. Begin EXIT_PROGRAM
  332.    Caption 'Logged off'
  333.    CarrierLoss Goto EXIT_PROGRAM
  334.    Timeout 3 Goto BYE_BYE
  335. End
  336. ;------------------------------------------------------
  337. Begin GIVE_UP
  338.    Caption 'Aborting'
  339.    Hangup
  340.    CarrierLoss Goto EXIT_PROGRAM
  341. End
  342. ;------------------------------------------------------
  343. Begin HANGUP_PHONE
  344.    Hangup
  345.    CarrierLoss Goto EXIT_PROGRAM
  346. End
  347. ;------------------------------------------------------
  348. Begin NO_LOGIN
  349.    Caption 'Unable to login'
  350.    Timeout 5 Goto GIVE_UP
  351. End
  352. ;------------------------------------------------------
  353. Begin BYE_BYE
  354.    Exit
  355. End
  356.  
  357.