
Agent .99 REG KEYS:

N2CJAHZ8-9CVHRJ3M-26YPLZ8L-BGGD44DT-1EA6CC62

8JF6ANRB-YDJDU2X2-43G8E92W-BJG1HEEV-ALL3YM1P-EWNB2JM1


Welcome to the Forte Agent v.99d beta release!

Agent .99d is a pre-release version of Forte's commercial newsreader, 
Agent.  Agent .99d includes all of the features and functionality of 
Free Agent 1.0 plus a multilingual spelling checker, basic email 
functionality, folders, and sorting.


REQUIREMENTS
============

16-bit Agent requires the following:

1. Windows 3.1 or greater, or Windows NT 3.5.

2. A TCP/IP driver that supports winsock 1.1 applications.
   Agent has been tested with the following drivers:

   - Trumpet Winsock 2.0B and higher
   - NetManage Chameleon 3.11N
   - Microsoft TCP/IP-32 for Windows for Workgroups 3.11
   - Microsoft Windows NT 3.5 TCP/IP
   - Microsoft Windows 95 with Microsoft TCP/IP
   - Spry dialer (Internet in a Box; CompuServe)
   - NetCruiser 1.6 or greater

3. Access to an NNTP news server.
   For posting email, access to an SMTP mail server.
   For receiving mail, access to a POP3 or SMTP mail server.


32-bit Agent requires the following:

1. Windows 95 or Windows NT 3.5.

2. 32-bit TCP/IP protocol support with a 32-bit winsock.

3. Access to an NNTP news server.
   For posting email, access to an SMTP mail server.
   For receiving mail, access to a POP3 or SMTP mail server.


UPGRADING
=========

If you are upgrading from a previous version of Free Agent or Agent:

-  You should back up your existing Agent databases.

-  You can then unzip the ZIP file directly into the directory where
   your previous copy of AGENT.EXE resides.


INSTALLING
==========

Follow these steps to install Agent:

1. Create a directory on your hard disk for Agent and copy the
   contents of this ZIP file to the directory.

2. Make an icon for Agent in Program Manager.  To do this, choose New
   from the File menu and select the Program Item option.  Fill in
   the Program Item Properties dialog box as shown in the example
   below:

      Description:       Agent
      Command Line:      c:\agent\agent.exe
      Working Directory: c:\agent

3. The first time you run Agent, it will prompt you for the
   information it needs to operate.

4. Once you have supplied the necessary setup information and Agent
   is operational, press F1 to display the online help.

   You may want to start by reading the Getting Started topic.
   To view this topic, click on the phrase Getting Started on the
   Agent Contents page or search help for "Getting Started."


WWW PAGE
========

To keep up to date on the latest information about Agent -- FAQ's, 
known bugs, etc. -- check our WWW page at:

   <URL:http://www.forteinc.com/forte/agent/support.htm>


RELEASE NOTES
=============

Build 149-168:
--------------

- Address Book has been added.

- If you have queued messages when you close Agent, a Yes/No/Cancel 
message box will be displayed.  Select Yes if you want Agent to send the 
messages.  Select No to close Agent without sending the messages.  Select 
Cancel if you don't want to close Agent or send the messages.  This 
feature is enabled by the "Send Queued messages when closing application" 
checkbox on the Preferences | Confirmations dialog and by the AGENT.INI 
parameter [Confirm]SendOnClose=1.

- The accelerator Ctrl+M has been added for posting new email messages.

- The menu option Post | Reply to All has been added for sending replies 
to Cc addresses.  This option is enabled only if a single email message is 
selected.  In the reply message created, the fields are initialized as 
follows:

To:  The author of the original message
Cc:  All addressees in the original message's To and Cc fields
Bcc: All addressees in the original message's Bcc field

Agent omits your own email address from the fields.

- On the composition window for email messages, the Cc is now in its own 
edit control field.  This makes it easier to Cc your email messages.

- In some cases, winsock will report that your own computer's name is 
blank.  If this happens, Agent now uses "unknown" instead of the blank 
name in the SMTP HELO command.  Using a blank name caused the email server 
to report Error 501.

- "Re:" is no longer prepended to the subjects of forwarded email messages.

- Agent will now update the AGENT.INI file with new parameters.  There is 
a new AGENT.INI option, [Profile]Build, which identifies the version and 
build most recently run.  Each time Agent starts, it checks this 
parameter.  If the parameter does not match Agent's current version and 
build, Agent writes any missing parameters to the file, assigning default 
values to the new parameters.

- When Agent is configured to thread by subject, it no longer groups all 
messages with a blank subject in a single thread.  Messages with blank 
subjects are now left in separate threads.

- [32-bit only] If a Find or Find Next operation finds the last message in 
a Message List, a subsequent Find Next will no longer restart the search 
from the beginning of the list.

- [32-bit only] Fixed various errors involving messages and file handles, 
such as:  message headers displayed as "Unable to read message" or 
"Unknown", author names displayed as "Unknown", and errors when writing to 
IDX file (bad file handle).

Build 148:
----------

- Source routing addresses are now handled correctly in outgoing posts.

- Fixed the GPF which occurred when Agent tried to connect to the server, 
but timed out while waiting for a password to be entered.  The problem 
occurred because Agent was connecting to the server before prompting for a 
password.  Now, Agent will prompt for the password before connecting to 
the server.

- Increased the default value for Online -> Preferences -> Attachments -> 
Lines per Message from 900 to 10,000.

- [32-bit only] Eliminated the repeated display of the What to Do With 
Extinct Groups dialog which occurred when trying to refresh groups while 
Agent was configured to prompt before initiating a DUN connection.

- [32-bit only] Eliminated the repeated display of the Close Connection 
dialog which occurred when an online error occurred while Agent was 
configured to prompt before terminating a DUN connection.

Build 145-147:
--------------

- The AGENT.INI parameter [Online]UnloadWinsock has been replaced by two 
new AGENT.INI parameters [Online]LoadWinsockOnStartup16 and 
[Online]LoadWinsockOnStartup32.  There is a new checkbox for this option 
in the Preferences | Online dialog.  When this option is checked, Agent 
loads Winsock immediately on program startup and unloads it on program 
exit.  When this option is unchecked, Agent loads Winsock when it goes 
online and unloads it when it goes offline.  When using 32-bit Agent with 
the Windows 95 winsock, you'll want to leave this option enabled.

- Pressing Page Up while on the first page now causes Agent to scroll up 
to the first line of the page.

- Fixed the problem where messages were not imported into the selected 
folder.

- Double-spaced text no longer appears single-spaced when scrolling 
forward.

- [32-bit only] Agent will now redial if an error or busy signal occurs 
during DUN dial-up.  The number of times Agent will retry is controlled by 
the "Times to retry after server refuses connection" option on the 
Preferences | Online dialog tab.

- [32-bit only] A new option has been added to the Preferences | Dial-Up 
dialog which allows you to specify the title of the window displayed after 
the Win95 dialer completes a connection.  When Agent is configured to 
automatically open a DUN connection, after the connection has been 
established, Agent searches for the DUN window and minimizes it.  By 
default, Agent searches for a window with a title beginning with 
"Connected to ".

- [32-bit only] Agent no longer prompts you to connect if a connection has 
already been established.

- [32-bit only] Agent is now able to disconnect successfully from a 
connection that was established on the second try.

- [32-bit only] Fixed the problem where the DUN dialog box could not be 
restored after No was given in response to the disconnect prompt.

Build 143-144:
--------------

- [32-bit only] Fixed many GPFs, including the one which occurred while 
retrieving headers.

- [32-bit only] Fixed the problem which occurred if Agent went offline and 
then you disconnected the Win95 dialer.  Agent now waits up to 3 seconds 
for a response to the QUIT command from the news server.  Agent used to 
wait up to 120 seconds.

- [32-bit only] Fixed a problem which occurred if Agent was closed without 
disconnecting the Win95 dialer.  Agent would generate an invalid page 
fault after purging/compacting the databases.

Build 142:
----------

- [32-bit only] Fixed a problem that was causing severe instability, 
frequent GPFs, and system crashes.

- [32-bit only] Added built-in support for dial-up networking, allowing 
Agent to automatically establish a dial-up connection when Agent goes 
online and hang up the connection when it goes offline.  This support 
should make Agent integrate much more smoothly with the Win95 dialer.  
Agent's DUN support is configured by the new Dial-Up tab on the 
Preferences dialog.  This tab is present in 32-bit Agent only, and appears 
only if DUN has been installed on the computer.


ADDRESS BOOK
============

Address Book Window
-------------------

To open the Address Book Window, select Window | Open Address Book.  There 
is a list of names on the left side of the window.  To the right are the 
email addresses and comments for the currently selected name.  There is 
also a field called "Field Text" (described below).

You can edit the addresses and comments directly.  If you modify them, the 
selected name changes color to indicate that it has been changed.  When 
you select another name or perform some operation that might cause the 
selection to change, Agent asks if you want to save the changes.  Agent 
also asks to confirm the changes if you close the window or close the 
program.

Address Book Window Menu Options (Address)
------------------------------------------

These options also appear as a context menu on the Names list.

- New.  Creates a new address.

- Rename.  Changes the name of the current entry.

- Delete.  Deletes the selected entries.

- Save.  Saves changes to the current entry.

- Reset.  Resets the Addresses and Comments for the current entry.

- To, Cc, Bcc.  Appends the names of the selected entries to the 
corresponding composition window control.  If there is no composition 
window open, Agent creates a new composition window.  If more than one 
composition window is open, the operation is applied to the composition 
window at the top of the Z order.  If you hold Shift while selecting this 
option, Agent appends the entries' addresses instead of the names.  
Pressing Enter or double-clicking a name or names is 
equivalent to selecting the To option.

- Check Addresses.  Checks syntax of addresses for the current entry.

- Confirm Edits/Deletes.   Toggles the confirmation mode for edits and 
deletes.

Address Book Window Menu Options (Edit)
---------------------------------------

- Find/Find Next.  When the Names list has the focus, you can use the Find 
and Find Next options to search the names, adddresses, and/or comments.

Composition Window Menu Options (Message)
-----------------------------------------

- Pick Addresses.  Displays the Pick Addresses dialog.

Dialog buttons:

To, Cc, Bcc.  Appends the selected names to the composition window.   
Holding Shift copies the entries' addresses instead of the names.  
Double-clicking a name is equivalent to pressing To and then closing the 
dialog.

Find.  Finds a name.

Edit.  Opens a new Address Book window and positions on the selected 
name.   This option also closes the Pick Addresses dialog.

Message List Pane/Message Body Pane Menu Options (Message)
----------------------------------------------------------

- Add Author to Address Book.  Displays the New Address dialog.   Agent 
populates the Addresses field with the email address of the selected 
message.  If the email address contains a full name, Agent uses that to 
populate the Name field.

The Field Text field
--------------------

You can use the Field Text field to create a mailing list.  All you have 
to do is create an address book entry for your mailing list, list all of 
the recipients in the entry's Addresses field, and specify a syntactically 
valid email address in Field Text.   Normally, when Agent posts a message, 
it replaces the name of each address book entry with the actual addresses 
for that entry.  When you specify a Field Text value, Agent replaces the 
entry with that text instead.

If you enter one or more spaces for the Field Text, Agent replaces the 
entry with nothing.  This is useful if you want to combine several address 
book mailing lists, but have the To: field contain only a single address.  
You can specify the single address as the Field Text for one of the 
address book entries and leave all of the others blank.

Name and Address Syntax
-----------------------

A name can contain any characters.  However, if a name contains any of the 
characters ,.:@<> you must enclose the name in quotes when using it in the 
composition window.  When you use the To, Cc, or Bcc commands to copy a 
name to the composition window, Agent automatically adds the quotes if 
required.

The Addresses window may contain any number of email addresses and/or 
address book names.  If more than one entry appears on a line, the entries 
must be separated by commas.  A single email address may not span multiple 
lines.  If an address book name contains the special characters listed 
above, it must be enclosed in quotes when used in the Addresses window.

On the composition window, there are two kinds of address fields.  The To, 
Cc, and Bcc fields may contain lists of addresses and address book 
entries.  The From, Reply-To, and Sender fields may contain a single 
address only, which must be a full Internet address (i.e., they may 
contain no address book entries or local addresses).

Local Addresses
---------------

There is an ambiguity between address book names that contain no 
whitespace and real email addresses that do not have the domain part.  For 
example, the string "mark.smith" could be either an address book entry or 
a local address.   On the Options | Preferences | Posting dialog, a 
checkbox has been added that lets you control how Agent should interpret 
ambiguous names.  The checkbox is "Require that local addresses be in 
Address Book".   If the option is checked, Agent will complain if such a 
name is not in the address book.  If the option is unchecked, Agent will 
assume that it is a local email address.  The default setting is unchecked.

You can force Agent to treat a name as a local address by appending @ to 
the name.  For example, "mark.smith@".

Address Expansion
-----------------

When Agent prepares to post a message, it scans the contents of the To, 
Cc, and Bcc fields to produce a complete list of recipients.  If it finds 
an address book entry, it expands the entry into its constituent email 
addresses.  The addresses are added to the recipients list, and the 
entry's name is replaced in the field by the expanded list of addresses.  
This process repeats if an entry address contains another address book 
entry.

The maximum amount of text that can be entered in a To, Cc, or Bcc field 
is 60K for 16-bit Agent and only limited by available memory for 32-bit 
Agent.  This limit also applies to the expanded list of email addresses 
which is produced when address book entries are expanded during message 
posting.

Address Book Lookups
--------------------

When you enter an address book name, you do not need to enter the full 
name.  You only need to enter enough words to uniquely identify the 
address book entry.  When looking up a name, Agent declares a match if the 
name matches any whole word substring.  For example, all of the following 
names would match the entry "Jane Lynn Hanson-Smith":

Jane
Jane Lynn
Hanson-Smith

Partial words do not match.  In the example above, "Jane L" and "Hanson" 
would not match.

The matching test is case-insensitive.  Also, it treats any whitespace 
between words as generic whitespace.  This means that it is not necessary 
to have exactly the same number of spaces between words.

Address Book Validation
-----------------------

Agent validates addresses if the option Validate email addresses on the 
Options | Preferences | Posting tab is checked.  Addresses are validated 
when you press the Send button or the Send Later button on the composition 
window, and when you add or change an entry in the Address Book.

When a validation error occurs, Agent displays the Check Addresses dialog 
box that describes the error and allows you to correct it.  The dialog 
contains the following controls:

<description of error>.  One of the following:
Not a valid email address.  (The syntax of the address is incorrect.)
Matches more than one address book entry.
Not in the address book.  (Reported only if "Require that local addresses 
be in Address Book" is checked.)

<text of bad address>.

Change To.  An edit control in which you can enter a replacement address.  
For ambiguous names, this is initialized with the first item from the 
Suggestions list box.  For all other errors, this is intialized with the 
invalid address, to make it easy to edit.

Suggestions.  For ambiguous names, a list of matching address book 
entries.  Double-clicking this is the same as pressing the Change button.  
Disabled for all other errors.

Change.  Press this button to change the address to the Change To text.  
Disabled if the Change To control is blank or identical to the original 
address.

Leave As Is.  Press this button to leave the address unchanged.

Convert To Local Address.  Press this button to append @ to the address, 
to force Agent to treat it as a local address.  If the address contains 
whitespace or special characters, Agent encloses it in quotes.   Disabled 
for syntax errors.

Delete.  Press this button to delete the address.

Cancel <x>.  Press this button to cancel the operation that caused the 
dialog to appear.  <x> is initialized with "Sending", "Saving" or 
"Checking", depending on what you did to initiate the validation.

If you change an entry, Agent revalidates it and displays a message if the 
new entry is also invalid, giving you the option of accepting the new 
entry or canceling the change.

Import/Export File Format
-------------------------

The file consists of a series of field definitions, one per line.  Each 
definition has the following form:

<field>:<value>

The <field> name must begin with the first character of the line.  A line 
may be no more than 1,000 characters long, including the \r\n 
termination.  Multi-line field values may be represented by continuing the 
value on subsequent lines.  Each continuation line must begin with one or 
more whitespace chars (space or tab).  The initial whitespace is removed 
from the value during import.
The file may contain blank lines, which are ignored.

The first field for each address entry must be a Name field.  The value is 
the name of the address entry.  Fields other than Name prior to the first 
Name field are ignored.  All fields appearing after a Name field are part 
of the entry named by that field, until the next Name field is scanned.  
The additional fields that may be included are defined below.  Fields that 
are not in this list are ignored.

List.  The entry's email address list field.

Comments.  The entry's comments field.

Field.  The entry's Field Text field.

