home *** CD-ROM | disk | FTP | other *** search
- ;------------------------------------------------------
- ;
- ;MCIMAIL.SCR --- The script file for MCI Mail
- ;
- ;------------------------------------------------------
- ;
- ; We begin with the format specifiers to which allow
- ;the script to identify where the MailId, RealName,
- ;and Subject texts are in a newly downloaded letter.
- ;
- Format
- Subject: $SUBJECT$\n
- From: $NAME$/ MCI ID: $UID$\n
- From: $NAME$\n
- MBX: $UID$\n
- Endformat
- ;
- ;------------------------------------------------------
- ; The following aliases define some of the standard
- ; MCI prompts:
- ;
- Alias loginprompt 'user name:'
- Alias passwdprompt '\nPassword:'
- Alias banner1 'MCI Mail'
- Alias prompt '\nCommand: '
- Alias scrollprompt 'type NO to stop'
- ;
- ;------------------------------------------------------
- ; The following aliases cause the script to use the
- ; ZMODEM transfer protocol to upload letters. Comment
- ; them out if you wish to use KERMIT:
- ;
- Alias uploadproto ' zmodem'
- Alias uploadtype ZMODEM
- Alias uploadprompt 'Press CONTROL C to cancel the request'
- ;
- ; The following aliases cause the script to use the
- ; KERMIT transfer protocol to upload letters. Comment
- ; them out if you wish to use ZMODEM:
- ;
- ;Alias uploadproto ' kermit'
- ;Alias uploadtype KERMIT
- ;Alias uploadprompt 'Press CONTROL C to cancel the request'
- ;
- ;------------------------------------------------------
- ; The following aliases cause the script to use the
- ; ZMODEM transfer protocol to download letters. Comment
- ; them out if you wish to use KERMIT:
- ;
- Alias dnloadproto ' zmodem'
- Alias dnloadtype ZMODEM
- Alias dnloadprompt 'Press CONTROL C to cancel the request'
- ;
- ; The following aliases cause the script to use the
- ; KERMIT transfer protocol to download letters. Comment
- ; them out if you wish to use ZMODEM:
- ;
- ;Alias dnloadproto ' kermit'
- ;Alias dnloadtype KERMIT
- ;Alias dnloadprompt 'Press CONTROL C to cancel the request'
- ;
- ;------------------------------------------------------
- ; These states deal with logging in, by sending a CR
- ; followed by the username and password.
- ;
- Begin START
- Caption 'connected'
- Cr
- When %loginprompt% Goto 1ST_USERNAME
- Timeout 10 Goto START
- End
- ;------------------------------------------------------
- Begin 1ST_USERNAME
- When %loginprompt% Goto USERNAME
- Timeout 5 Goto USERNAME
- End
- ;------------------------------------------------------
- Begin USERNAME
- Transmit $USERNAME
- Cr
- When %passwdprompt% Goto PASSWORD
- When %loginprompt% Goto USERNAME
- Timeout 45 Goto NO_LOGIN
- End
- ;------------------------------------------------------
- Begin PASSWORD
- Transmit $PASSWORD
- Cr
- When %passwdprompt% Goto PASSWORD
- When %loginprompt% Goto USERNAME
- When 'Please try again' Goto INVALID_LOGIN
- When %banner1% Goto LOGGED_IN
- Timeout 45 Goto NO_LOGIN
- End
- ;------------------------------------------------------
- Begin INVALID_LOGIN
- When %loginprompt% Goto USERNAME
- When 'Please try again' Goto INVALID_LOGIN
- Timeout 45 Goto NO_LOGIN
- End
- ;------------------------------------------------------
- Begin LOGGED_IN
- Caption 'logged in'
- When %banner1% Goto LOGGED_IN
- When %prompt% Goto CHECK_INCOMING
- Timeout 90 Goto NO_LOGIN
- End
- ;------------------------------------------------------
- Begin CHECK_INCOMING
- If FETCHING Then CHECK_MAIL
- Caption 'Sending Mail'
- NewLetter
- Timeout 1 Goto REQUEST_CREATE
- End
- ;------------------------------------------------------
- Begin CHECK_MAIL
- Transmit 'scan inbox'
- Cr
- When 'Your INBOX is empty' Goto NO_MAIL
- When 'message in INBOX' Goto HAVE_MAIL
- When 'messages in INBOX' Goto HAVE_MAIL
- Timeout 120 Goto GIVE_UP
- End
- ;------------------------------------------------------
- Begin NO_MAIL
- Caption 'No Mail'
- If MORE_LETTERS Then SEND_MAIL
- When %prompt% Goto LOG_OFF
- Timeout 30 Goto GIVE_UP
- End
- ;------------------------------------------------------
- Begin HAVE_MAIL
- Caption 'You Have Mail'
- ClearIndex
- NextIndex
- When %scrollprompt% Goto SCROLL_INBOX
- When %prompt% Goto FETCH_MAIL
- Timeout 120 Goto GIVE_UP
- End
- ;------------------------------------------------------
- Begin SCROLL_INBOX
- Cr
- When %scrollprompt% Goto SCROLL_INBOX
- When %prompt% Goto FETCH_MAIL
- Timeout 120 Goto GIVE_UP
- End
- ;------------------------------------------------------
- Begin FETCH_MAIL
- Caption 'Fetching Mail'
- Transmit 'download '
- Transmit $INDEX
- Transmit %dnloadproto%
- Cr
- When 'press RETURN to skip this segment' Goto SEND_FILENAME
- When 'There is no message numbered' Goto NO_MORE_MAIL
- Timeout 30 Goto GIVE_UP
- End
- ;------------------------------------------------------
- Begin SEND_FILENAME
- Transmit $LETTER.FILENAME
- Cr
- When %dnloadprompt% Goto DOWNLD_LETTER
- Timeout 30 Goto CANCEL_DOWNLOAD
- End
- ;------------------------------------------------------
- Begin CANCEL_DOWNLOAD
- Control X
- Control X
- Control C
- Control C
- When %prompt% Goto FETCH_MAIL
- Timeout 30 Goto GIVE_UP
- End
- ;------------------------------------------------------
- Begin DOWNLD_LETTER
- Download %dnloadtype% Then DOWNLD_SUCCESS Else GIVE_UP
- End
- ;------------------------------------------------------
- Begin DOWNLD_SUCCESS
- Caption 'Letter Received'
- Confirm LETTER.RECEIVED Successful
- NextIndex
- When 'Download request complete' Goto WAIT_FOR_NEXT
- Timeout 30 Goto WAIT_FOR_NEXT
- End
- ;------------------------------------------------------
- Begin WAIT_FOR_NEXT
- When %prompt% Goto FETCH_MAIL
- Timeout 30 Goto GIVE_UP
- End
- ;------------------------------------------------------
- Begin NO_MORE_MAIL
- Caption 'Fetched Mail'
- If MORE_LETTERS Then SEND_MAIL
- When %prompt% Goto LOG_OFF
- Timeout 30 Goto GIVE_UP
- End
- ;------------------------------------------------------
- Begin SEND_MAIL
- Caption 'Sending Mail'
- NewLetter
- When %prompt% Goto REQUEST_CREATE
- Timeout 30 Goto GIVE_UP
- End
- ;------------------------------------------------------
- Begin REQUEST_CREATE
- Transmit 'create'
- Cr
- When 'TO:' Goto TRANSMIT_DEST
- Timeout 20 Goto GIVE_UP
- End
- ;------------------------------------------------------
- Begin NOT_EMP
- Transmit 'Y'
- Cr
- When 'CC:' Goto DO_CC
- When 'TO:' Goto TRANSMIT_CR
- When 'Please enter the number:' Goto ABORT_CREATE
- Timeout 20 Goto GIVE_UP
- End
- ;------------------------------------------------------
- Begin TRANSMIT_DEST
- Transmit $LETTER.DEST.USERNAME
- Cr
- When 'TO:' Goto TRANSMIT_CR
- When 'Include this Recipient (Yes or No)?' Goto NOT_EMP
- When 'Please enter the number:' Goto ABORT_CREATE
- Timeout 20 Goto GIVE_UP
- End
- ;------------------------------------------------------
- Begin TRANSMIT_CR
- Cr
- When 'CC:' Goto DO_CC
- Timeout 20 Goto GIVE_UP
- End
- ;------------------------------------------------------
- Begin DO_CC
- If LETTER.CC Then TRANSMIT_CC
- Cr
- When 'Subject:' Goto SEND_SUBJECT
- End
- ;------------------------------------------------------
- Begin TRANSMIT_CC
- CreateCC 1 0 Delimiter ' '
- Transmit $LETTER.CC
- Cr
- When 'CC:' Goto DO_CC
- When 'Include this Recipient (Yes or No)?' Goto NOT_EMP
- When 'Please enter the number:' Goto ABORT_CREATE
- Timeout 20 Goto GIVE_UP
- End
- ;------------------------------------------------------
- Begin SEND_SUBJECT
- Transmit $LETTER.SUBJECT
- Cr
- When 'Type / on a line by itself to end' Goto REQUEST_UPLOAD
- When 'Subject:' Goto SEND_SUBJECT
- Timeout 30 Goto GIVE_UP
- End
- ;------------------------------------------------------
- Begin REQUEST_UPLOAD
- Caption 'Uploading Letter'
- Transmit '/upload ascii'
- Transmit %uploadproto%
- Cr
- When %uploadprompt% Goto UPLOAD_LETTER
- Timeout 30 Goto GIVE_UP
- End
- ;------------------------------------------------------
- Begin UPLOAD_LETTER
- Upload %uploadtype% Then UPLD_SUCCESS Else UPLD_FAILURE
- End
- ;------------------------------------------------------
- Begin UPLD_FAILURE
- Confirm LETTER.SENT Unsuccessful
- Timeout 1 Goto GIVE_UP
- End
- ;------------------------------------------------------
- Begin UPLD_SUCCESS
- When 'successfully transferred' Goto FINISH_SEND
- Timeout 30 Goto UPLD_FAILURE
- End
- ;------------------------------------------------------
- Begin FINISH_SEND
- Caption 'Letter Uploaded'
- Transmit '/'
- Cr
- If LETTER.HANDLING Then WAIT_FOR_HANDLING
- When 'Handling:' Goto BLANK_HANDLING
- Timeout 30 Goto FINISH_SEND
- End
- ;------------------------------------------------------
- Begin WAIT_FOR_HANDLING
- When 'Handling:' Goto SEND_HANDLING
- Timeout 30 Goto FINISH_SEND
- End
- ;------------------------------------------------------
- Begin SEND_HANDLING
- Transmit $LETTER.HANDLING
- If LETTER.RECEIPT Then APPEND_RECEIPT
- Cr
- When 'Send?' Goto SEND_LETTER
- When 'Handling:' Goto END_HANDLING
- Timeout 30 Goto GIVE_UP
- End
- ;------------------------------------------------------
- Begin APPEND_RECEIPT
- Transmit ', RECEIPT'
- Cr
- When 'Send?' Goto SEND_LETTER
- When 'Handling:' Goto END_HANDLING
- Timeout 30 Goto GIVE_UP
- End
- ;------------------------------------------------------
- Begin SEND_RECEIPT
- Transmit 'RECEIPT'
- Cr
- When 'Send?' Goto SEND_LETTER
- When 'Handling:' Goto END_HANDLING
- Timeout 30 Goto GIVE_UP
- End
- ;------------------------------------------------------
- Begin BLANK_HANDLING
- If LETTER.RECEIPT Then SEND_RECEIPT
- Cr
- When 'Send?' Goto SEND_LETTER
- When 'Handling:' Goto END_HANDLING
- Timeout 30 Goto GIVE_UP
- End
- ;------------------------------------------------------
- Begin END_HANDLING
- Cr
- When 'Send?' Goto SEND_LETTER
- When 'Handling:' Goto END_HANDLING
- Timeout 30 Goto GIVE_UP
- End
- ;------------------------------------------------------
- Begin SEND_LETTER
- Transmit 'yes'
- Cr
- When 'Your message was posted' Goto LETTER_SENT
- Timeout 60 Goto UPLD_FAILURE
- End
- ;------------------------------------------------------
- Begin LETTER_SENT
- Caption 'Letter Sent'
- Confirm LETTER.SENT Successful
- If MORE_LETTERS Then SEND_MAIL
- When %prompt% Goto LOG_OFF
- Timeout 30 Goto GIVE_UP
- End
- ;------------------------------------------------------
- Begin ABORT_CREATE
- Caption 'Bad Address'
- Transmit '0'
- Cr
- When 'CC:' Goto ABORT_SEND
- When 'TO:' Goto ABORT_SEND
- Timeout 20 Goto GIVE_UP
- End
- ;------------------------------------------------------
- Begin ABORT_SEND
- Caption 'Letter NOT Sent'
- Transmit '/'
- Cr
- Confirm LETTER.SENT Unsuccessful
- If MORE_LETTERS Then SEND_MAIL
- When %prompt% Goto LOG_OFF
- Timeout 30 Goto GIVE_UP
- End
- ;------------------------------------------------------
- Begin LOG_OFF
- Transmit 'exit'
- Cr
- Caption 'Logging off'
- When 'NO CAR' Goto EXIT_PROGRAM
- CarrierLoss Goto EXIT_PROGRAM
- Timeout 20 Goto GIVE_UP
- End
- ;------------------------------------------------------
- Begin EXIT_PROGRAM
- Caption 'Logged off'
- CarrierLoss Goto EXIT_PROGRAM
- Timeout 3 Goto BYE_BYE
- End
- ;------------------------------------------------------
- Begin GIVE_UP
- Caption 'Aborting'
- Hangup
- CarrierLoss Goto EXIT_PROGRAM
- End
- ;------------------------------------------------------
- Begin HANGUP_PHONE
- Hangup
- CarrierLoss Goto EXIT_PROGRAM
- End
- ;------------------------------------------------------
- Begin NO_LOGIN
- Caption 'Unable to login'
- Timeout 5 Goto GIVE_UP
- End
- ;------------------------------------------------------
- Begin BYE_BYE
- Exit
- End
-
-