Copyright: ® 1992-1993 Gerald P. Sully


MailRun 2.1
MailRun  version 2.1

Automated BBS Communications with

PROCOMM PLUS for Windows

Copyright © 1992-1993 Gerald P. Sully

What is MailRun?

What's New in Version 2.1?

Installation

Creating Your First MailRun

Configuring MailRun for Particular Systems

MailRun Commands

The Toolbar

Troubleshooting

Hacking MailRun

History

Contacting the Author


What is MailRun?

MailRun is a PROCOMM PLUS for Windows (PC+/Win) ASPECT script that automates communications with PCBoard, RBBS, WildCat! and Auntie electronic bulletin board systems (BBSs).  But MailRun is no ordinary script.  Where typical scripts are little more than macros for automated logons, MailRun provides a complete graphical front end that allows you to create modular scripts, or "mailruns," with simple point and click commands.  A mailrun can call 30 or more BBSs, get mail packets, upload replies, upload or download files, and execute commands or user created scripts.  MailRun even keeps a simple database of files available on the BBSs you call so that you can add a request for a download just by clicking on a file name.  Mailruns may be executed from a command line or scheduled for later execution so that you can do your BBSing while you sleep or go on vacation.

MailRun is designed to integrate with BBSs that run QWK mail doors.  Although MailRun works most easily when your BBS has a QWK mail door, it has features that allow you to capture messages and download files automatically on other BBSs as well.

MailRun is being distributed as shareware.  The terms are simple:  if you find yourself using MailRun with any regularity, please send $15 to:

Jerry Sully

841 Solano Ave. #2

Albany, CA  94706

USA

I don't take credit cards, so if you live in another country, you'll have to send cash (just send the most visually interesting currency available; I'm not particular about exact value).  You will receive your choice (please specify) of the current version with the nag screen removed or the next version, if any, on the cheapest floppy disk I can find.  Your conscience will be clean, and you will have provided encouragement to a budding programmer.

You are free to hack the source code all you want, as long as you don't distribute the hacks.  If you make changes you think are useful, please inform me and I will try to include them in the next release.

All the usual disclaimers apply.  This script is offered "as is," which means that I can't guarantee that it won't erase every byte of data on your hard disk or cause other disasters.  However, I think I can safely promise that it won't place calls on its own and leave nasty messages to all your on-line friends.  This feature will be included in a later version <g>.


QWK Mail Doors

A QWK mail door is a program you can run on the BBS that will gather all the new messages in the e-mail conferences you like to follow, and compress them into a single file with the name [BBSID].QWK (where [BBSID] is an 8 character identification for the BBS) that you can download.  This allows you to read and reply to messages offline using a mail reader, such as KingQWK (authored by Mike King and available from IDC BBS, (510) 814-8097).  A *.QWK packet can also contain BBS bulletins or new file scans, as well as other information.  When you reply to messages offline, your mail reader creates a packet with the .REP extension, which can then be uploaded through the mail door for posting.

MailRun automates the process of getting and sending QWK mail.  It also extracts the list of new files from your *.QWK packet so that you can see what new files you might like to download.


What's New in Version 2.0
What's New in Version 2.1?

MailRun 2.1 fixes a bunch of bugs, makes some minor changes (see "History" for a list) and adds the following features:

•	An opening nag screen.  I know this isn't really a feature, but my low-key approach was generating so few registrations that I felt I had to remind you that I'm out here slaving away thinking only of the interests of you, the user.  <g>  If you have strong objections to nag screens, it isn't difficult to remove it, but you'll have to figure out how to do it on your own.

•	Support for the KingMail door for PCBoard BBSs (authored by Mike King and available from IDC BBS (510) 814-8097).

•	Full support for RBBS and the Mail Manager door.

•	AutoRun feature that allows you to execute any mailrun from a command line.  This allows you to use an external scheduler to launch your mailruns.

•	Support for FlashPoint ZIPX as an unarchiving utility for *.QWK packets.

•	Plug-in script module to do new file scans on BBSs that don't include a new file scan in their mail packets.

•	Interrupt on ring option to allow automatic termination of a mailrun when there is an incoming call.

•	Edit menu supporting standard cut, copy and paste functions for items in the MailRun Task List.  In addition, the ability to shift items around within a mailrun is now enabled while a mailrun is executing.  Use Alt-U to shift an item up, or Alt-I to shift it down.

•	Automatic purging of aged files from the download database.

•	A configurable "Message Menu" prompt for use with WildCat! BBSs that have customized prompt sets, and a "Calling From" prompt/response for the name of your city.

•	Improved on-line help (you're lookin' at it) including a troubleshooting guide.

•	Documentation in printable Windows Write format.


Installation

Before installing, make sure your version of PC+/Win is at least 1.01.  MailRun will not function properly with version 1.00 of PC+/Win.  The upgrade is available from the DataStorm support BBS (and many other BBSs as well) as MAINT1.EXE.  To find out your current version of PC+/Win, check the "About" dialog box on the "Help" menu.

To install MailRun, copy all MailRun files to your ASPECT directory.  You should also put the file MRUNARC.PIF somewhere in your DOS path (e.g. the WINDOWS directory), along with PKUNZIP.EXE or whatever program you use to unarchive your *.QWK message packets.  If your copy of MailRun came with compiled script modules (*.WAX files), either start PC+/Win and select "mrun211" from the script list, or double click on the file MRUN211.WAX in File Manager.  If you have a source-only version of MailRun, start PC+/Win, select "Compile/Edit" from the "Script" menu, highlight MRUN211.WAS, and click on the "Compile and Run" button.  This will compile the MailRun initialization source file.  The remaining source files will automatically be compiled the first time their associated functions are selected.  Compiling a large script can take some time, so be patient.

MailRun will first create a file called MAILRUN.INI in your WINDOWS directory to hold its default settings.  It will then present you with the MailRun Settings dialog box in which you can set a number of system parameters.  Default values are provided wherever possible.  If the specified directories don't exist, they will be created.  MailRun can generate a large number of support files in addition to the script files, so I strongly recommend that you keep your MailRun files in their own directory.  MailRun will suggest a MAILRUN subdirectory of your main PC+/Win directory as the default.

When you have finished entering your default settings, click on the "Save" button to write them to MAILRUN.INI.  When you click on "Done," MailRun will copy its files to the MAILRUN directory.  Installation is now complete and you will be presented with the main MailRun dialog box.

If you are upgrading, you may use the old directory and MailRun will automatically update your old mailruns.  Your old MAILRUN.INI file will be saved as MAILRUN.BAK, and all custom BBS and mail door prompt sets will be copied to the new INI file.  However, you will need to make some changes to your old mailruns in the following situations:

MailRun 1.1:  If any of your BBSs used a type of mail door not supported by MailRun 2.1 (KingMail, QMail, MarkMail, RoseMail and Cam-Mail), you will need to create a mail door type for that mail door.  Select "BBS Mail Door" from the "Configure" menu and "Export" your prompts under the name of the new mail door.

MailRun 2.0:  For all WildCat! BBSs, you will need to move the name of your city from the User Response 1) or 2) box to the new "Calling From" box.


Creating Your First MailRun

The default mailrun is named MAILRUN.MRN.  It will automatically be created the first time you use MailRun and will initially be blank.  It is a good idea to set up the BBS defaults for your mailrun before you add your first BBS.  Select "Configure" "Defaults" "BBS" from the menu and enter the information you want to be automatically included in each new BBS you add to the mailrun.  (See "BBS Settings" for more information on each field.)

Now you are ready to add items to the mailrun.  Although BBSs and tasks may be added in any order (after the first BBS is added), it is usually most efficient to set up all BBSs before adding any tasks.  To add a BBS, select "New BBS" from the "Add" menu, or click on the "New BBS" icon (button #5), and enter the information requested.

When a BBS is added to the mailrun, its name will appear in the Task List.  However, the BBS will only be called if there are currently pending tasks to perform.  Tasks such as getting a mail packet or uploading a file may be added either by selecting the appropriate item from the "Add" menu, or by clicking on the corresponding button on the tool bar.  Tasks may be designated as either permanent or temporary.  Permanent tasks (marked with a "#") remain on the mailrun after they have been completed.  Temporary tasks (marked with a "¤") are deleted when they have been successfully completed and the mailrun is reset.  Tasks that are successfully completed are marked with a "@," while those that cause errors are marked with a "!".  The status of an item may be changed by double-clicking on its description in the task list (or by hitting the "Enter" key").  The position of a BBS within the mailrun, or the position of a task within a BBS, can be shifted down or up by using Alt-I or Alt-U respectively.

The only tricky part about getting a mailrun to execute properly is making sure that the prompt set, edited by selecting "BBS Prompts" from the "Configure" menu, matches the prompts used by the BBS you are calling.  Some trial and error may be necessary to find a prompt set that will get through the script without stalling.  Prompt sets may be edited on the fly, however, so you will not need to hang up and reconnect each time MailRun fails to recognize a prompt.  Just make the adjustment to the prompt set and the mailrun should be able to respond using the new prompt definition.


Configuring MailRun for Particular Systems

MailRun will not operate properly unless the remote system has been properly configured prior to calling it from a mailrun.  You will need to set up default file transfer protocols for the BBS and for the mail door (for those mail doors that accept separate defaults).  If you wish new files available for download to be automatically displayed in the Download Files dialog box, you should make sure that the QWK mail door is configured to send a new file scan (MailRun produces the available files list by extracting it from your mail packet).  You will also need to make sure that the file list in the mail packet does not contain ANSI color codes.

PCBoard 15.0:  BBSs must be configured for expert mode.

WildCat!:  Hot Keys must be turned off.  File display should be set for 2-line mode.  Color menus should be turned off.  In addition, MailRun will not work properly with some WildCat! boards at the novice help level (full menus) if the sysop has configured the prompt to be a simple "?"  On such boards, increase the help level until you get distinguishable Main Menu and Message Menu prompts.

WildCat! boards require a number of different kinds of confirmation.  You are almost always asked to confirm the city you are calling from, and MailRun provides the "Calling From" prompt for you to enter this information.  You may also be asked to provide your birth date, home telephone, or even your mother's maiden name.  Use the User Prompt/Response pairs to set up the appropriate prompts and responses for this information.  If more than two confirmations are required, you can use the "Language/Prompt Scheme" and "Language Prompt" as a third prompt/response pair.

RBBS:  Turbo Keys must be turned off.

Auntie:  Make sure that the expert level is appropriately set.  The default prompts for Auntie boards are set for novice or medium level.

Other BBS Systems:  It is possible to achieve limited functionality with many unsupported brands of BBS software.  Generally, those BBS systems that do not require "hot key" operation (i.e. they can be configured to require a carriage return to send a command) can at least be configured to allow log on.  If a QWK-compatible door is available, you will generally be able to use with a WildCat setup if it has a separate message menu, or with a PCBoard setup if it does not.  Downloads may be possible, although you will not be able to get a list of available downloads, but uploads will usually be out of the question.  Use trial and error to find a prompt set that works with the BBS and then export it under a new name.


MailRun Commands

Commands available from the MailRun menu bar.

File Menu

Edit Menu

Configure Menu

Add Menu

Execute Menu

Help Menu


File Menu

Commands available from the MailRun "File" menu.

New MailRun (Button #3)

Save

Save As

Reset (Button #2)

Delete MailRun

Create AutoRun

Exit (Button #15)


New MailRun
New MailRun (Button #3)

Creates a new mailrun.  You will be prompted to give the new mailrun a name, which should be a standard 8 character DOS filename without an extension (MailRun appends the .MRN extension).  You will then be presented with the MailRun Settings dialog box.  Enter the desired settings.  Note that each mailrun may have its own mail, reply, upload and download directories.  The MailRun Directory will be grayed out; this setting can only be altered when changing the MailRun Defaults.


Save

Saves the current mailrun to disk.  Use this if you have made changes to a mailrun and are concerned about system crashes or the script malfunctioning.  Changes to a mailrun are automatically saved when you change the current mailrun or exit the script with either the "Stop" button or the "Exit" command from the "File" menu.  Exiting from the control menu will cause any unsaved changes to be lost.


Save As

Allows you to save the current mailrun under a new name.  Use this function to make a backup, or to save time when there are BBSs you want to call from more than one mailrun.


Reset
Reset (Button #2)

Resets all items in the current mailrun to pending status.  Temporary tasks that have been completed are deleted from the mailrun.


Delete MailRun

Deletes the current mailrun from your disk.


Create AutoRun

Creates an AutoRun script.  An AutoRun is a script file with the same name as a mailrun.  Executing an AutoRun script from a command line launches PC+/Win, starts MailRun, resets the mailrun and immediately begins executing it.  When the mailrun is completed, PC+/Win is shut down.  This feature allows a mailrun to be launched with an external scheduler such as those included with WinTools and Norton Desktop.

An AutoRun script created with the Create AutoRun command is a source code file with the .WAS extension.  If the .WAS extension is associated with PW.EXE (the PC+/Win executable), it can be run directly; otherwise, it must be compiled before it can be executed.


Exit
Exit (Button #15)

Exits MailRun.  This command should always be used to exit MailRun to ensure that your previous system state is restored and all temporary files are deleted.


Edit Menu

Commands available from the MailRun "Edit" menu.  Edit menu commands are available only at the Task List window.

Cut

Copy

Paste

Delete


Cut

Deletes the currently selected item or BBS from the Task List and places it in the Windows clipboard.  See also "Paste" and "Delete" in the "Edit" menu.


Copy

Copies the currently selected item or BBS from the Task List to the Windows clipboard.  See also "Paste" in the "Edit" menu.


Paste

Pastes the contents of the Windows clipboard into the Task List of the current mailrun.  This function will only be successful if the clipboard contains an item copied or cut from a mailrun task list.  If the clipboard contains a BBS, the BBS name and all associated settings are added to the current mailrun.  A BBS may not be pasted into a mailrun that already has an entry for that BBS.  If the clipboard contains a task to perform at a BBS, it will be inserted into the task list at the current position.


Delete
Delete Item (Button #11)

Deletes the currently selected item from the task list.  If a BBS name is selected, the BBS and all associated tasks will be deleted.  Deleting a BBS will not erase the information for that BBS contained in the *.MRN file, so that if the BBS is added to the mailrun again, all previously entered settings and tasks will be restored.


Configure Menu

Commands available from the MailRun "Configure" menu.

MailRun Settings

BBS Settings (Button #4)

BBS Prompts

BBS Mail Door

Defaults/MailRun

Defaults/BBS

Defaults/Prompts

Defaults/Mail Door


MailRun Settings

Brings up the MailRun Settings dialog box allowing you to change the following settings:  If a directory is changed and the new directory does not exist, it will be created, provided that the parent directory exists.

Mail Directory

Reply Directory

Download Directory

Upload Directory

Dial Attempts

Dial Timeout

Dial Pause

Idle Timeout

Packets to Save

Capture mailrun to log file

Append to existing log file

Capture ANSI codes in log file

Archive Utility

QWK Mail Reader

Log File Viewer

Filter duplicates from d/l database


Mail Directory

The directory containing your *.QWK files (mail packets downloaded from a BBS's mail door)  Default:  the current PC+/Win download directory.


Reply Directory

The directory containing your *.REP files (reply packets to be uploaded to a BBS's mail door).  Default:  the current PC+/Win upload directory.


Download Directory

The directory in which to put downloaded files.  Default:  the current PC+/Win download directory.


Upload Directory

The directory from which to upload files.  Default:  the current PC+/Win upload directory.


Dial Attempts

The number of times each BBS will be dialed.  Default:  the current value of "Make...  attempts" from the Dial/Options of the PC+/Win dialing directory.


Dial Timeout

The number of seconds to wait for a connection when dialing.  Default:  the current value of "Wait...  secs for connection" from the PC+/Win dialing directory.


Dial Pause

The number of seconds to wait between dial attempts.  Default:  the current value of "Wait... secs between attempts" from the PC+/Win dialing directory.


Idle Timeout

The number of seconds the script will wait for a recognizable prompt before disconnecting from a BBS.  Default:  120.


Packets to Save

The number of old *.QWK packets to retain.  *.QWK packets are renamed in the format *.QW#, where # is a number from 0 (the most recent) to 9 (the oldest).  A maximum of 10 *.QWK packets can be archived.  Default:  3.


Capture mailrun to log file

If this box is checked, all characters received from or transmitted to a BBS during the execution of the mailrun will be captured in a file in the MailRun directory designated *.CAP, where * is the name of the mailrun.  This file may be viewed selecting "View Log File" from the "Execute" menu, or by clicking the View Log File button on the icon bar.  Default:  On.


Append to existing log file

If this box is checked, the log for each execution of the mailrun will be appended to the existing *.CAP file.  The file will grow without limit until it is deleted.  Default:  Off.


Capture ANSI codes in log file

If this box is checked, ANSI escape sequences will be captured in the log file.  When viewed with a file viewer, the resulting file may be useful for determining the proper escape sequences to include in prompt sets that include multi-colored prompts.  The file may also be viewed with an ANSI file viewer for a more colorful record of the mailrun's progress.  Default:  Off.


Archive Utility

The archive shell you use for manipulating compressed files.  If the program is not in your DOS path, you will have to include the complete path to the executable.  This program will be launched when "Archiver" is selected from the "Execute" menu, or when the corresponding button is selected from the Toolbar.


QWK Mail Reader

The mail reader you use for viewing *.QWK packets.  If the program is not in your DOS path, you will have to include the complete path to the executable.  This program will be launched when "QWK Reader" is selected from the "Execute" menu, or when the corresponding button is selected from the Toolbar.


Log File Viewer

The file viewer you wish to use for viewing the mailrun's log file.  The *.CAP file containing the log is passed to this program as an argument when "View Log File" is selected from the "Execute" menu, or when the corresponding button is selected from the Toolbar.  If the program is not in your DOS path, you will have to include the complete path to the executable.


Filter duplicates from d/l database

If this box is checked, a file whose name already appears in the download database will not be added.  Filtering duplicate names may add significantly to the length of time required to update the download database.  Default:  Off


BBS Settings
BBS Settings (Button #4)

Brings up the BBS Information dialog box.  Use this dialog box to change the following settings:

BBS Name

User ID

Password

XFer Protocol

Calling From

User Response (1)

User Response (2)

Language/Prompt Scheme

Display ANSI Graphics

Phone Numbers

BBS Type

Mail Door


BBS Name

The full name of the current BBS.  This name will appear in the task list.


User ID

Your user ID on the current BBS, usually your first and last names.  This string is sent in response to the "Name" prompt specified in the "BBS Prompts" dialog box.


Password

Your password on the current BBS.  This string is sent in response to the "Password" prompt specified in the "BBS Prompts" dialog box.


XFer Protocol

The file transfer protocol to use for uploads and downloads on the current BBS.  The BBS must also be configured to use this as your default protocol.  Default:  ZModem.


Calling From

WildCat! BBSs usually ask you to confirm the city you are calling from.  Enter the name of your city in this field, and when it is detected in a prompt, MailRun will send a "Y".  For non-WildCat! boards, this may be used to define an additional prompt to which MailRun will respond "Y".


User Response (1)

The string entered in this box acts as a response to User Prompt (1) in the "BBS Prompts" dialog box.  This is especially useful for WildCat! BBSs, which often ask for confirmation of identity during logon.  Thus if the remote asks, "What is your mother's maiden name?" you would enter "maiden name" in the "User Prompt (1)" prompt box in the "BBS Prompts" and would enter your mother's maiden name in the "User Response (1)" box in the "BBS Settings."

Some PCBoards require password confirmation for downloads from certain conferences.  In such cases, the actual password should be placed in the "User Response (1)" box, and the prompt for the password should be placed in the "User Prompt (1)" prompt box in the "BBS Prompt" dialog box.  The "User Prompt (1)" prompt is higher priority than the "Password" prompt, so be careful that the prompt definition is distinguishable from and narrower than that for the "Password" prompt.

User Prompt (1) and User Response (1) may also be used to form a prompt/response pair in any other situation in which you find it useful.  In the PCBoard 15.0 setup, User Prompt/Response (1) is used to respond "n" when the board queries whether you wish to read your personal mail.  In the RBBS setup, it is used to respond "n" when the board queries whether you wish to review the new files.


User Response (2)

See "User Response (1)."  The entry in this box acts as a response to the entry in the "User Prompt (2)" prompt box in the "BBS Prompts" dialog box.


Language/Prompt Scheme

Some PCBoard BBSs allow you to select a language or prompt set to use.  The number or letters entered here will be sent in response to the "Language" prompt defined in the "BBS Prompts" dialog box.  On non-PCBoard systems, or PCBoards that do not allow a language selection, the "Language" prompt and response may be used to create a user defined prompt and response pair.


Display ANSI Graphics

When this box is checked, MailRun will respond "Y" to the prompt in the "ANSI Graphics" prompt in the "BBS Prompts" dialog box.  This is intended for use with PCBoards that allow a user to select whether ANSI graphics will be displayed.  On boards that do not allow such a selection, the "Display ANSI Graphics" checkbox may be used to respond "Y" to a custom prompt.


Phone Numbers

Telephone numbers for the BBS.  Although only three numbers may be entered in the "BBS Settings" dialog box, additional numbers may be added by manually editing the *.MRN file to include "Number_4," "Number_5," etc. (as many as desired), under the section headed by the BBS's ID string.


BBS Type

Select from among listed types.  Changing BBS types automatically installs the default prompts for the selected type.  New types may be created using the "Export" function in the "BBS Prompts" dialog box.  Default:  PCBoard 14.5.


Mail Door

Select from among the listed types.  Changing mail door types automatically installs the default prompts for the selected type.  New types may be created using the "Export" function in the "Mail Door" dialog box.  Default:  KingMail.


BBS Prompts

Brings up the "BBS Prompts" dialog box.

Clicking on the "Export" button allows you to save a BBS prompt set under a new name.  For example, you might call two or more PCBoards that use a "Star Trek" prompt set.  After setting up the prompts for the first board, you can click on "Export," and enter the name "PCBoard:  Star Trek."  The new name will now appear in the list of BBS Types and can be used with any other "Star Trek" BBS.  The name used for the exported prompt set must contain a keyword indicating the type of BBS:  PCBoard, WildCat, RBBS or Auntie.

Use this dialog box to change the following settings:

Prompts based on

Language

ANSI Graphics

Name

Password

User Prompt (1)

User Prompt (2)

View

Scan Msg Base

File Prompt

More

Continue

Command

File Unavailable

File Description

Start File U/L

Start File D/L

In addition to the entries in the "BBS Prompts" dialog box, the following settings from the "BBS Information" dialog box are also associated with the BBS Type:  Calling From, User Response (1), User Response (2), Language/Prompt Scheme, and Display ANSI Graphics.


BBS Prompts based on
Prompts based on

This has the same effect as the "BBS Type" setting under "BBS Settings."


Language

See "Language/Prompt Scheme" under "BBS Settings."


ANSI Graphics

See "Display ANSI Graphics" under "BBS Settings."


Name Prompt
Name

The prompt on the current BBS that requests your name or user ID.


Password Prompt
Password

The prompt on the current BBS that requests your password.


User Prompt (1)

See "User Response (1)" under "BBS Settings."


User Prompt (2)

See "User Response (1)" under "BBS Settings."


View Prompt
View

With PCBoard and WildCat! BBSs, MailRun will answer "N" to the entry in this box; with RBBS systems the response will be "Q"; and with Auntie BBSs, a carriage return will be transmitted.  It is intended for use with systems that ask whether a user wishes to view bulletins or other conference members.  It may also be used to send the stated response to any other prompt that is entered here.


Scan Msg Base

MailRun will answer "N" to the entry in this box.  It is intended for use with systems that ask whether the user wishes to scan a message base, as is common on PCBoard systems.  It may also be used to send an "N" in response to any other prompt that is entered here.


File Prompt

The file area prompt on the current BBS.  Not applicable to PCBoards.


More Prompt
More

The prompt that asks whether the user wishes to continue viewing more of a page of text with an option to stop.  Response is "S" for WildCat!, "N" for all others.


Continue Prompt
Continue

The prompt that asks the user to continue viewing a page of text without an option to stop.  Response is "Y" for PCBoards, a carriage return for all others.


Command Prompt
Command

The main command prompt.


File Unavailable Prompt
File Unavailable

The prompt that appears when a user is refused permission to download or upload a file.


File Description Prompt
File Description

Prompt to send the description of a file to be uploaded.


Start File U/L Prompt
Start File U/L

Prompt to initiate a file upload.


Start File D/L Prompt
Start File D/L

Prompt to initiate a file download.


BBS Mail Door

Brings up the "Mail Door Settings" dialog box.

Clicking on the "Export" button allows you to save a mail door prompt set under a new name.  This can be used to create a "Mail Door" entry for a new kind of mail door.   This feature will only work properly with mail doors that operate in the same manner as the QMail door (as do KingMail, MarkMail, and other mail doors).

Use this dialog box to change the following settings:

Start Mail Door

Prompts Based on

QWK Archiver

Transfer Protocol

Message Menu

Mail Command

Receive Packet

Start Mail U/L

Start Mail D/L

The "QWK Archiver," "Transfer Protocol" and "Message Menu" items are associated with the BBS rather than the mail door.  Changing the mail door type will not affect these items.


Start Mail Door

Command to invoke the mail door.  Enter whatever command you would normally use to call the mail door.  For TomCat, this is always "T."  This setting is not applicable to Auntie, which has mail functions hard-coded.


Prompts Based on

This has the same effect as the "Mail Door" setting under "BBS Settings."


QWK Archiver

The archive utility used for opening mail packets.  Default:  pkunzip.exe.


Mail Transfer Protocol
Transfer Protocol

The file transfer protocol used by the mail door.  The mail door must be configured to use this protocol as the default.  Default:  ZModem.


Message Menu Prompt
Message Menu

The command prompt for the message area.  Used only with WildCat! BBSs.


Mail Command Prompt
Mail Command

The command prompt for the mail door.


Receive Packet Prompt
Receive Packet

The prompt used to request confirmation before a mail packet will be sent.


Start Mail U/L Prompt
Start Mail U/L

Prompt to initiate a *.REP packet upload.


Start Mail D/L Prompt
Start Mail D/L

Prompt to initiate a *.QWK packet download.


Configure MailRun Defaults
Defaults/MailRun

Allows you to change the default settings to be used with each new mailrun.  Changing these settings will not affect mailruns already in existence.  All fields are as described above under "MailRun Settings," with the addition of MailRun Directory.  Changing the MailRun directory causes all MailRun files to be moved to the new directory.  If the directory specified does not exist, it will be created, provided that the parent directory exists.  The MailRun will terminate after all files are moved.  It must be restarted in order for the change to take effect.


Configure BBS Defaults
Defaults/BBS

Allows you to change the default settings to be used with each new BBS created in the current MailRun.  All fields are as described under "BBS Settings."


Configure Prompt Defaults
Defaults/Prompts

Allows you to change the default prompt set for the selected BBS type.  These defaults should not need to be edited.  All fields are as described under "BBS Prompts."


Configure Mail Door Defaults
Defaults/Mail Door

Allows you to change the default prompt set for the selected mail door.  All fields are as described under "BBS Mail Door."  The QWK Archiver and Transfer Protocol are associated with the default BBS rather than the mail door; changing these two settings will affect each new BBS created in the current mailrun.


Add Menu

Commands available from the MailRun "Add" menu.

New BBS (Button #5)

Get/Send Mail (Button #6)

Upload File (Button #7)

Download File (Button #8)

Send Command (Button #9)

Execute Script (Button #10)


New BBS
New BBS (Button #5)

Adds a new BBS to the current mailrun.  You will be prompted to enter the ID for the new BBS.  A BBS ID is the first part of a BBS's *.QWK packet name.  MailRun uses this ID to identify the BBS internally, to recognize *.QWK and *.REP files, and to label *.DBF and *.IDX files.  You will next be presented with the "BBS Information" dialog box.  See "BBS Settings" for information on each field.


Add Get/Send Mail
Get/Send Mail (Button #6)

Adds a task to get a *.QWK packet or send a *.REP packet through the mail door of the current BBS.


Add Upload File
Upload File (Button #7)

Adds a task to upload a file to the current BBS.  Selecting this item will cause the Upload File dialog box to appear.  This dialog box contains a list of files currently in your upload directory.  In addition, when a file is downloaded with MailRun, its description will be retrieved from the BBSs download database and will be added to the upload database.  The size of the file list is limited to 64k, or around 650-700 entries.

A file may be selected for uploading either by entering the name of the file in the "File Name" box, or by selecting a file from the list.  When a file is selected from the list, the file's description will appear in the Description box.  If the file does not already have a description, a description of at least 5 characters must be entered before the file can be uploaded.  The "Conference" box allows you to specify a PCBoard or WildCat! conference to be joined before uploading the file.  For Auntie BBSs, the "Conference" box should hold the abbreviation of the file area to which the file should be uploaded.

Clicking on the "Add" button or double-clicking on the entry in the file list will add the file request to the mailrun.  If a new description has been entered, this will also be added to a database of descriptions for files in your upload directory.  If the file is not currently located in the upload directory, you will be asked whether you wish to copy it from its present location.  Selecting "Yes" will cause a file selection dialog box to appear.

A new description may be saved to the database without adding a file request to the mailrun by selecting the "Save" button.  The "Delete" button allows you to delete a file name from the database.  If the associated file is located in the Upload Directory, you will be asked whether you also wish to delete the file as well.  The "Refresh" button will cause MailRun to compress the database and rescan the contents of the uploads directory, adding any new files to the upload file list.  The first time the Upload File function is selected, you will have to select the refresh button to generate the original list.


Add Download File
Download File (Button #8)

Adds a task to download a file from the current BBS.  Selecting this item will cause the Download File dialog box to appear.  You may either enter the name of a file in the edit box, or select a file from the list of available files.  When a file is selected from the list, a detailed description is shown and the name appears in the edit box.  Selecting the "Add" button or double-clicking the entry in the file list will add the file request to the mailrun.  The Conference field is the conference to be joined before downloading the file.  On many BBSs any file can be downloaded from Conference 0, but some BBSs have restricted conferences, such as Adult conferences, that must be joined before the files in those conferences can be downloaded.  Unfortunately, I have not found a way to determine the appropriate conference from the information available in a BBS file list, so the default will always be "0".  You will just have to know that if the file has a description like "Great scan from Debbie Does Dallas" you will have to join the Adults conference in order to download it <g>.

The list of available files is kept in an index file and the descriptions are kept in a database file (*.IDX and *.DBF, respectively, where * is the BBS ID).  When "Download File" is chosen, or when the BBS is changed with the dropdown box, MailRun checks for any recently downloaded *.QWK packets, extracts the NEWFILES.DAT file, and adds the contents to the database.  (The *.QWK packet will only contain a NEWFILES.DAT file if you have set up your mail door to do a new files scan).  When MailRun scans NEWFILES.DAT for filenames, it looks for a valid date in the position appropriate for the current BBS type.  If NEWFILES.DAT contains ANSI graphics, it may prevent MailRun from recognizing it as a file list.

The maximum size of the file list is 64k, or about 640-700 entries.  Duplicate file names will only be eliminated if you have checked the "Filter duplicates from d/l database" checkbox in the MailRun Settings dialog box.  Selecting the "Purge" button will clean out the database so that you can start fresh.  Files may be selectively deleted from the database with the "Delete" button.

The "Purge files after __ days" option allows you to have aged files automatically deleted from the database.  Aged files are purged before a *.QWK packet is checked for new files, so aged files in a new *.QWK packet will not be removed until the following day.  Set the number of days to 0 if you do not want aged files to be deleted.

Selecting the "Import" button allows you to import a file list from another source.  This feature allows you to execute a new file scan with the NEWFILES script, and import the result into the MailRun database.  The imported list must be in the format appropriate for the current BBS.  If the imported list is too large, MailRun may not be able to display the entire list.


Add Send Command
Send Command (Button #9)

Adds a task to send a command line or multiple command lines to the current BBS.  Multiple command lines should be separated by the vertical bar character (uppercase backslash).  MailRun will send the first command line, and will send each additional command line after the terminal screen has been quiet for 15 seconds.  Be careful to design your command string so that it will return to the BBS command prompt; otherwise, MailRun may hang.  As an example, the string

bank;sb;a|st;a|q

could be used to call a board's byte bank, deposit all remaining bytes, deposit all remaining time, and then send a "q" to return to the main command prompt.


Add Execute Script
Execute Script (Button #10)

Adds a task to execute an ASPECT script at the remote BBS.  When this button is selected, you will be presented with the Execute Script dialog box.  Select a script from the dropdown box and click the "Add" button to add it to the mailrun.  Only scripts in the MailRun directory will appear in this dialog box.

When a script task is executed, control will temporarily be passed to the selected script.  Scripts should be designed to return to the BBS command prompt; otherwise, MailRun may hang.  This function allows for more complicated routines to be executed than can be performed with the "Send Command" function.  Two scripts are included with MailRun:  TERMINAL, a terminal mode script, and NEWFILES, a script to perform new file scans and capture the result to a *.lst file.

WARNING:  MailRun uses global variables s0 through s9 and i0 through i9.  If your script attempts to use these variables you will certainly screw up the execution of the mailrun, and could potentially do a lot more damage.  DO NOT ALTER THESE VARIABLES.  Having said this, you may find it useful to access these variables in order to find information about the state of the system.  The definition of each global variable is given below under "Hacking MailRun."


Execute Menu

Commands available from the MailRun "Execute" menu.

Execute/Terminate MailRun (Button  #1)

QWK Reader (Button #13)

Archiver (Button #14)

View Log File (Button #12)


Execute MailRun
Execute/Terminate MailRun (Button  #1)

Executes the current mailrun.  When this button is selected, you will be presented with the MailRun Scheduler dialog box.  When the "Execute MailRun Now!" radio button is selected, clicking "OK" will immediately launch the mailrun.  When the "Execute MailRun Later..." radio button is selected, you may specify a time for later execution.  The time entered must be in 24 hour format.  For example, 11:30 p.m. would be entered as 23:30:00; 4:27 am would be entered as 04:27:00.  The box for entering the time of execution will automatically display the last scheduled time.  When you click "OK," the status line will display the time at which execution will begin and the current time.

The scheduler has three options for actions to take following completion of the mailrun:

•	Remain Idle: MailRun will wait for you to take further action.

•	Restart:  the mailrun will be reset and execution will start over again.  If the mailrun was set to run at a scheduled time, it will be executed when that time is reached again, 24 hours after the original time.  This allows MailRun to get your mail on a daily basis when you are away.

•	Shut Down:  MailRun will automatically close PC+/Win.

When the "Interrupt mailrun if phone rings" option is checked, the execution of a mailrun will be terminated when a telephone ring is detected while MailRun is paused between dialing attempts.

When the mailrun executes, each BBS with currently pending business is called until all pending items have been completed.  Call progress is displayed on the status line.  If a timeout occurs or carrier is lost while connected to a BBS, all items that have not been successfully completed for that BBS are marked as errors.  While the mailrun is executing, it is possible to add tasks, change prompts, and alter mailrun settings; however, making such changes should be done with caution as it may have unpredictable effects on mailrun execution.

While a mailrun is executing, the "Execute MailRun" menu item changes to a "Terminate MailRun" menu item, and the telephone icon changes to a phone-off-hook icon.  Selecting the menu item or clicking on the button will terminate the mailrun and return MailRun to an idle state.


Execute QWK Reader
QWK Reader (Button #13)

Executes the QWK mail reader specified in the "MailRun Settings" dialog box.  If the QWK reader is already running, it will become the active application.


Execute Archiver
Archiver (Button #14)

Executes the archive utility specified in the "MailRun Settings" dialog box.  If the archive utility is already running, it will become the active application.


View Log File
View Log File (Button #12)

Executes the file viewing utility specified in the "MailRun Settings" dialog box and loads the log file (*.CAP) for the current mailrun.  If the utility is already running it will become the active application.


Help Menu

Commands available from the MailRun "Help" menu.

Contents

Help on Current Window... (Button #16)

About


Help Contents Menu Item
Help Contents

Selecting this menu item brings up the first page of the MailRun online help file with the table of contents.


Help on Current Window Menu Item
Help on Current Window... (Button #16)

Selecting this menu item gives you context-sensitive help on the current dialog box.  For example, if the "Download Files" dialog box is currently displayed and this menu item is selected, the page of the online help file relating to downloading files will be displayed.  This command is equivalent to pressing the F1 key.


Help About MailRun

Displays the "About MailRun" dialog box, which contains copyright and registration information.


The Toolbar

Click on an icon for a more detailed description of the function.

	Execute the current mailrun.  (Active only at the Task List).
	Terminate the current mailrun.  (Active only when a mailrun is executing).
	Reset the current mailrun.  (Active only at the Task List).
	Create a new mailrun.
	Change settings for the current BBS.
	Add a BBS to the current mailrun.
	Add an item to upload a file to the current BBS.
	Add an item to download a file from the current BBS.
	Add an item to send a command to the current BBS.
	Add an item to run a script on the current BBS.
	Delete the currently selected item from the mailrun.
	View the log file for the current mailrun.
	Execute your QWK mail reader.
	Execute your archive utility.
	Exit MailRun
	Help on the current window.


Troubleshooting

The following are some common problems that may be encountered.  Explanations are provided, together with possible solutions.

MailRun Dies After Installation

Can't Add a BBS

MailRun Won't Compile Properly

MailRun Won't Call a BBS

BBS Prompts Not Handled Correctly

Disconnect Before QWK Download Begins

No Files in Download List

MailRun Won't Upload

Foreground Tasks Are Interrupted

MailRun Won't Save Changes

Bogus BBS/Mail Door Types in List


MailRun Dies After Installation

Description of the Problem:  The install procedure runs correctly up to the point where the legend "compiling mrun211a.was" appears in the status bar.  The script then ends without further activity.  Following this, any attempt to run MAILRUN.WAX will cause the same message to appear in the status bar without result.

Reason:  MRUN211A.WAS is not compiling successfully.  The compiler is generating a fatal error.

Solution:  See "MailRun Won't Compile Properly."


Can't Add a BBS

Description of the Problem:  The install procedure runs correctly and the window showing the MailRun Task List appears.  However, when "New BBS" is selected from the "Add" menu,  the legend "compiling mrun211c.was" appears in the status bar, but the script returns to the main window without further activity.

Reason:  MRUN211C.WAS is not compiling successfully.  The compiler is generating a fatal error.

Solution:  See "MailRun Won't Compile Properly."


MailRun Won't Compile Properly

Description of the Problem:  The legend "compiling mrun211?.was" appears in the status bar, but the module does not execute as expected.  This will generally occur only with the largest script modules:  MRUN211A.WAS, MRUN211C.WAS and MRUN211G.WAS.

Reason:  The script module is not compiling successfully.  The compiler is generating a fatal error.  To verify that the script module is not compiling successfully, you should attempt to compile it manually.  Select "Compile/Edit" from the "Script" menu, highlight the file that you suspect is causing the error (you may have to change directories to locate it), and click on the "Compile" button.  The compiler may generate warning messages, but these can be ignored.  If the script generates an "Insufficient memory" error, you have discovered the problem.

The insufficient memory error is not caused by a shortage of memory.  It is actually caused by the limited memory capacity of the WASP script compiler, which allows only 64k of space.  Various compile options use up some of this space and may prevent a script from compiling.

Solution:  Select "Compile/Edit" from the "Script" menu, click on the "Compile Options" button, and make sure that the following are true:

•	Compile for debug is off.

•	Create map file is off.

•	Warning level is set to 0.

•	Maximum errors before terminating is set to 1.

This will free up the maximum amount of compiler memory and should allow the script to compile.  Some users have reported that the largest script modules will not compile even when all of the above steps have been taken.  The error messages they have received lead me to believe that on some systems "compile for debug" and "create map file" are permanently enabled, even when the Compile Options dialog box says they are off.  DataStorm has not confirmed this as a bug, but if you have this problem, you might try calling them to complain.


MailRun Won't Call a BBS

Description of the Problem:  After going through the MailRun Scheduler and clicking on "OK", the screen flashes, but the mailrun does not begin execution.

Reason:  This problem has two possible causes:  The script module that handles mailrun execution may not be compiling correctly.  See "MailRun Won't Compile Properly." for more information on this problem.  Alternatively, there may be no currently pending tasks at any of the BBSs to be called.  MailRun will only call a BBS if there is a task to perform there.

Solution:  If you wish to use MailRun to log on to a BBS, but don't want to perform any actions there, use the Terminal script provided with MailRun (TERMINAL.WAS).  This script simply throws you into terminal mode after logging you on and allows you to return to MailRun by clicking the "Exit" button.


BBS Prompts Not Handled Correctly

Description of the Problem:  MailRun will not respond to some prompts from the remote BBS or responds incorrectly.

Reason:  This problem has two possible causes:  1) The prompts used by the BBS do not correspond to the default prompts used by MailRun for that type of BBS.  Many sysops customize their BBSs to make them easier to use or more interesting.  2) You are using PC+/Win version 1.00.  See "Installation" for more information.

Solution:  For PCBoard BBSs, you often have the option of selecting the "standard" PCBoard prompts.  Make sure that the "Language" setting for this BBS corresponds to the choice for the standard prompt set.  For BBSs that do not allow you to select a standard prompt set, you will have to edit the prompts expected by MailRun for that BBS.  See "BBS Settings" and "BBS Prompts" for more information.


Disconnect Before QWK D/L
Disconnect Before QWK Download Begins

Description of the Problem:  MailRun connects to the BBS and requests the mail door.  The door collects the new messages, but MailRun hangs up without waiting for the download to start.

Reason:  MailRun may be timing out while waiting for the download to start.  By default, MailRun will wait 120 seconds without seeing a prompt change before it hangs up.  If the mail door takes more than 2 minutes to collect your messages, MailRun will hang up.

Solution:  Increase the amount of time a BBS can remain idle before MailRun times out.  See "Idle Timeout" in the "MailRun Settings" dialog box.


No Files in Download List

Description of the Problem:  "Download Files" is selected from the "Add" menu, the Download Files dialog box appears, but the list of available files is blank.

Reason:  MailRun obtains its list of files available on the remote BBS by extracting the file NEWFILES.DAT from the *.QWK packet for that BBS.  It then parses NEWFILES.DAT to get the list of new files.  A number of problems can prevent this process from completing successfully:

•	There are no *.QWK packets available for the BBS, or MailRun is unable to locate the *.QWK files.

•	At least one *.QWK packet exists in the right place, but it doesn't contain a NEWFILES.DAT file.

•	The NEWFILES.DAT file contains ANSI color codes that prevent MailRun from parsing it correctly.

•	The NEWFILES.DAT file is in a format that MailRun does not understand.

Solution:  Check each of the following:

•	When MailRun downloads a *.QWK packet, it is in fact putting it in your Mail Directory.  See "MailRun Settings" for more information on directories.

•	The mail door you are using on the remote BBS has the new file scan option enabled.  Check the configuration options for the mail door for more information or ask your sysop.  Most mail doors do allow a new file scan, but your sysop may have configured it to be off by default.

•	Make sure that the NEWFILES.DAT file does not contain color codes.  Most mail readers allow you to view NEWFILES.DAT in color.  If you find colors, attempt to configure the mail door so that ANSI graphics are turned off.  On WildCat! boards especially, it may be necessary to disable ANSI colors for the entire BBS session in order to eliminate the colors from the QWK packet.

•	If the BBS is a WildCat! system, be sure that your user settings are configured to show file lists in a 2-line display.  If you have managed to download a packet from a BBS that is not one of the supported types (PCBoard, WildCat!, RBBS and Auntie), MailRun will probably not be able to recognize the file format without significant hacking of the source code.  Contact the author for more information.

If it is not possible to configure the mail door to send a QWK packet with an appropriate NEWFILES.DAT file in it, you can still capture new files manually.  Use the NEWFILES plug-in script to capture a list of new files on the BBS.  This will create a *.LST file (where * is the BBS ID) in your MailRun directory.  You can use the "Import" feature to load the contents of the capture file into the download files list.


MailRun Won't Upload

Description of the Problem:  When uploading to an Auntie or RBBS board, the upload process hangs when the remote asks the user to specify the category of file to be uploaded, and MailRun sends a "0".

Reason:  For Auntie and RBBS boards, MailRun uses the "Conference" box in the "Download Files" dialog box as the category.  The default category is "0".

Solution:  When adding an item to download a file from an Auntie or RBBS board, be sure to enter the correct category in the "Conference" box.  MailRun will not keep a list of available categories, so you will have to know the appropriate designation for the file you wish to upload.


Foreground Tasks Are Interrupted

Description of the Problem:  When running MailRun in the background, it grabs the focus away from the current foreground application.  If it is running as an icon, the icon frequently jumps to the front.  If it is running as a window, dialog boxes may pop up in the middle of other applications.

Reason:  This is caused by the way PC+/Win handles dialog boxes.  Even when PC+/Win is minimized, it will always grab the focus on certain events, such as completion of a download.  Unfortunately, the problem is incurable.

Solution:  Bitch like hell to DataStorm until they get it fixed.


MailRun Won't Save Changes

Description of the Problem:  Changes made to a mailrun are not saved when exiting.

Reason:  MailRun is a script and cannot perform any of its cleanup procedures if you terminate the parent application, PC+/Win, without "notice" to MailRun.  When you exit by closing PC+/Win from the control menu, MailRun is terminated abnormally and will not save changes made since the last time the current mailrun was saved.

Solution:  Exit MailRun using the "Exit" option from the "File" menu, or using the "Stop" icon.  If you prefer to double-click on the control menu, be sure to select "Save" from the "File" menu before doing so.


Bogus BBS/Mail Door Types in List

Description of the Problem:  In the "BBS Type" or "Mail Door" lists in the BBS Information dialog there are extra types that should not be there.

Reason:  You were goofing around with the "Export" function in the BBS Prompts or Mail Door dialog box and created a new BBS or mail door type.

Solution:  Edit MAILRUN.INI, which is in your Windows directory.  Delete the reference to the bogus type in the [BBSTypes] or [MailDoors] section (whichever applies).  Make sure that all remaining BBS or mail door types are numbered consecutively.


Hacking MailRun

Since you have the source code for MailRun, you might be tempted to indulge in a little bit of customization.  Please feel free to hack it up as much as you want.  Here are a couple of things you can easily do to change the way MailRun looks and behaves:

Changing the Icon Bar

Global Variable Assignments

Activating the MailRun User Interface in a Script


Changing the Icon Bar

All icons for MailRun are contained in the file MRUNICON.DLL.  Some of these are butt-ugly, makeshift jobbers that you probably won't be able to stand looking at for long.  You can change the icon for any of the buttons on the bar by editing this file with a product like IconMaster.  Just replace the old icon with a new one.

You can also change the function associated with any given button.  To do this, you must edit the procedure parseobject() in MRUN211.H.  Each button is associated with an index value 1 through 16 from left to right across the icon bar.  Each CASE in the parseobject() SWITCH calls a routine that executes a corresponding menu command.  To change the behavior of a particular button, just change the name of the procedure associated with it to the name of the appropriate procedure from parsemenu().  For example, you might want to substitute a "MailRun Settings" button for the "New MailRun" button.  Since this is the third button, change CASE 3 from filenewmailrun() to cfgmailrun(), which is the menu item function for "MailRun Settings" in parsemenu().

The truly adventurous can even add icons to the toolbar, or change position and spacing of existing icons.  The toolbar is created by the procedure mrunwin() in MRUN211A.WAS.  Icon spacing is in user window units (UWUs), but DataStorm has not seen fit to document the use of these.  You will have to use trial and error to get spacing right.  As near as I can tell, there are 10,000 UWUs across the width of the screen at any resolution.  32 pixels (the width of an icon) is about 500 UWUs at VGA resolution, and 400 at 800x600 resolution.  If you add extra icons to the toolbar, you will also have to add corresponding "case" options to the parseobject() procedure in MRUN211.H, and additional icons to MRUNICON.DLL


Global Variable Assignments

If you get the urge to monkey around with the internal workings of MailRun while a mailrun is executing, your own scripts can obtain information about the state of MailRun by accessing the PC+/Win global variables s0-s9 and i1-i9.  Variable assignments are as follows:

Var	Name	Use

s0	CurrentConf	The current conference on the remote system.

s1	Conf	Conference to change to before doing a download.

s2	Item	The current Item from the *.MRN file.

s3	BBS	The current BBS from the *.MRN file.

s4	TaskList	The file containing the MailRun Task List displayed in the main MailRun dialog box.

s5	MailRunDir	The MailRun directory.

s6	TempDir 	The temporary directory.  Temp files include cleanup.tmp, which contains the original system settings.

s7	MailRunIni 	Location of MAILRUN.INI.

s8	MailRun 	Location of the current mailrun (in TempDir).

s9	TaskItem 	The currently selected item in the task list.

i0	IdleTimer	The number of seconds MailRun has been waiting for a prompt without receiving data from the remote.

i1	PostRun 	Post MailRun action (1=Idle, 2=Restart, 3=Shut down).

i2	HelpPage	The page of the help file that will be displayed when the user calls context sensitive help.

i3	GraphicsOn 	Display ANSI graphics (0=Off, 1=On).

i4	NewfileFilter 	Duplicate file filter (0=Off, 1=On).

i5	AnsiInLog 	Capture ANSI escape sequences in log file (0=Off, 1=On)

i6	AppendLog 	Append to existing log file (0=No, 1=Yes)

i7	LogRun 	Capture mailrun to log file (0=No, 1=Yes)

i8	IdleTimeout 	Length of time MailRun will allow a host to remain idle before hanging up.

i9	FLAGS	Various flags used for internal processing.  The first bit (2^0) is set when a mailrun is executing.


Activating the MailRun User Interface
Activating the MailRun User Interface in a Script

Normally, when you run a script from a mailrun, the user interface will not be active.  If you wish to keep the user interface active during your script, you must include the line

#include "[MailRunDir]\mrun211.h"

before the main() procedure, where [MailRunDir] is the full path of the directory in which mrun211.h is located.  The interface can then be activated with the command

interfaceon()

Some editing of MRUN211.H may be necessary to ensure that only desired functions are activated.  Use the #define statement to omit code for functions you wish to be excluded.


History

2.11	Fixed:  The "terminate" icon on the toolbar was slightly displaced at most screen resolutions.

Fixed:  Adding an item to a mailrun or editing prompts while online would cause MailRun to lose track of its execution.

Fixed:  Changing the sort order in the Download Files dialog when there was no database for the current BBS would cause the script to abort.

Fixed:  Changes to upload database were only saved when the Upload Files dialog was exited via the "Done" button.

2.10	For a list of new features see "What's New in Version 2.1."

Considerable work has been done on source code documentation and cleanup work.  #ifdef commands have been used to eliminate from compilation any unneeded procedures in MRUN211.H, allowing the script modules to be slightly larger and making the largest modules more likely to compile correctly on systems where they had previously failed to compile.

Fixed problem with exporting prompt sets.  Prompt sets for the BBS and mail door are now properly saved and the exported name becomes the new prompt set for the BBS.

Control-Tab and Control-Shift-Tab are no longer used to shift items down and up within a mailrun.  The new commands are Alt-I and Alt-U.  This allows the commands to be available while a mailrun is executing and eliminates the effect of inadvertent tabbing between fields.  The unfortunate side-effect is that the delete key will no longer be used to delete items from a mailrun.

MailRun will now remember previous status of the Scheduler dialog box.

The "Save" command from the file menu is now available while a mailrun is executing.  The "Execute/Terminate MailRun" command from the "Execute" menu (and the corresponding icon on the toolbar) are now available from all script modules.

Fixed:  On Auntie BBSs, MailRun would hang on an unsuccessful upload request or when there was no mail packet to download.

Fixed:  When the main PC+/Win directory was also used for ASPECT files, MailRun would delete its own help file.

Fixed:  When making changes to default prompt sets, MailRun will now warn that changes have been made before allowing you to change prompt sets.

Fixed:  Double-clicking on an item while a mailrun was executing would cause MailRun to become hopelessly confused.

Fixed:  Deleting the last file in the Download Files window would cause a nonsense file name to appear as the selected file.

Fixed:  MailRun would refuse to accept a name for a new mailrun, BBS or exported prompt set that was a substring of one that already existed.

Changed list of scripts in the Execute Script dialog box to show both *.WAS and *.WAX files, allowing execution of uncompiled scripts.  The MailRun directory rather than the Aspect directory is now the source for the script file list.

Changed assignments of some global system variables from locations of MailRun modules to more useful variables.  Any add-in script that references these variables should be changed to explicitly define the location of the desired script module.

When there is no description available for an upload, MailRun will now send the description "Description not available" rather than abort the upload.

A couple of the icons on the toolbar have been changed somewhat.  The spacing of icons on the toolbar is now roughly the same at all resolutions.

Fixed:  MailRun now properly recognizes the "Press Escape" prompt on BBSs that reposition the cursor at the beginning of the prompt line.  Two consecutive Escape characters will be sent when the words "two" or "twice" appear on the prompt line.

Confirmation prompts are now the highest priority.  This fixes a problem that occurred on some BBSs where a prompt requesting confirmation contained a substring corresponding to another prompt in the prompt set.  This problem usually occurred with password protected downloads.

The following fields form the BBS Settings dialog will now be associated with the BBS type (PCBoard, WildCat, etc.):  Calling From, User Response (1), User Response (2), Language/Prompt Scheme, and Display ANSI Graphics.  User Response (1) & (2) can now accept single characters as well as phrases.

2.00	New features added in version 2.0:

•	Complete support for WildCat! and Auntie BBSs, including uploads & downloads.

•	A more sophisticated scheduler, allowing you to automatically restart a mailrun or shut down PC+/Win after a mailrun is completed.

•	The ability to edit all defaults.

•	Separate windows for BBS and mail door prompts.

•	Pre-configuration of prompt sets for a variety of mail doors.

•	Exporting of custom prompt sets for BBSs or mail doors.

•	Sorting of upload and download file lists.

•	Importing of file lists in PCBoard, WildCat! or Auntie format.

•	The ability to call your log file viewer, archive shell and mail reader from the button bar.

•	Custom menu bar allowing keyboard access to all functions.

•	Ability to delete an unwanted mailruns and save an existing under a new name.

•	On-line help.

The NEWFILES.DAT file could not be successfully parsed on some systems due to a failure of the PC+/Win CHDIR command.  I worked around this by putting the change directory command into the batch file that extracts NEWFILES.DAT from the QWK packet.

MailRun no longer attempts to extract NEWFILES.DAT from non-existent QWK packets.

Due to changes in the user interface, the Escape key can no longer be used to cancel a mailrun.

1.10	I did some substantial rewriting for this version.  I discovered that scripts larger than a certain size will not compile successfully (apparently, there is only 64k of space available for code and data).  As a result, I had to break the program up into several scripts.

Added call logging functions.  When the appropriate checkbox is checked, MailRun will capture all characters transmitted to or from each BBS to a *.CAP file in the MailRun directory.  ANSI graphics are captured at the user's option.

Added scheduled execution.  The user may specify a time up to 24 hours in advance when the mailrun will begin executing.

The status line now provides some feedback when items are added to a mailrun.

MailRun now supports extraction of new files from *.QWK packets using ARJ.EXE, PKXARC.EXE, ZOO.EXE, LHA.EXE and LHARC.EXE, in addition to PKUNZIP.EXE.

Fixed bug that occasionally caused MailRun to fail to find a file for uploading.

MailRun now correctly handles logon to BBSs that require the user to press Escape immediately after connecting.

MailRun support files may now be kept in a separate directory so as not to clutter the ASPECT directory.

*.QWK packets are now downloaded to a temporary subdirectory of the MailRun directory rather than to a subdirectory of the directory specified by the TEMP environment variable.  This eliminates a problem with downloading very large mail files to a RAM drive.

Fixed the problem with PROCOMM PLUS becoming active whenever a number was dialed.  This was fixed by using the "computs" command rather than the "dial number command".

BBS settings may now be changed and items may now be added to a mailrun while the mailrun is executing.

When a mailrun is executing, the "Execute MailRun" button now changes to a "Terminate MailRun" button.  Clicking this button (or pressing ALT-E) now causes the executing mailrun to abort.

Changed the "Upload Files" window to be consistent with the "Download Files" window and added a database of descriptions for files in the upload directory.  Upload descriptions may now be of any length.  Descriptions of downloaded files are automatically added to the database.

1.00	First release of MailRun.


Contacting the Author

I can be reached through the Procomm Conference on many BBS networks, including Rime, Smartnet, ILink, and Intelec, and in the Windows Conference on any of those plus FidoNet.  Just leave a message for Jerry Sully.  I can also be reached at

America Online:	JerrySully

Internet:	sully@netcom.com

Compu$erve:	71673,663

snail mail:	Jerry Sully

841 Solano Ave. #2

Albany, CA  94706

The latest version of MailRun can be obtained as a free download for first-time users on IDC BBS (Mike King, sysop) in Alameda, California (510) 814-8097.  IDC BBS is the home of several fine QWK-related products, including:

KingMail - A QWK-compatible mail door

KingQWK - A QWK-mail reader

QWKMerge - A utility to merge QWK packets for archiving

Give 'em a try!