
SMTPOP.EXE Version 1.2 (November 1997)
A substitute for SMTPOP.EXE Version 1.1 and PMPOP.EXE
Designed to work with Pegasus Mail for DOS 3.2 and above

FREEWARE

SMTPOP is freeware. No strings attached, although a small email
stating wether it worked for you or not, would be appreciated.

There are no warranties expressed or implied, for any purpose
whatsoever. You must determine the suitability of this software
for your particular purpose, and assume all responsibility 
derived from the use (or inability to use) this program.

You may share it with as many people as you like, provided this
file is included as-is with the software.

Although this software is freeware, I retain the rights to it
and to further modify it in the future.

You may not disassemble or reverse the compilation process of
this software.

CREDITS

SMTPOP was developed using the TCP/IP libraries by Erick Engelke.
It was compiled using Borland C/C++ compiler as a large memory
model.

Pegasus Mail for DOS was developed by David L. Harris.

PMPOP.EXE was developed by David L. Harris

DOSPPPD was developed by Antonio Lopez

UMSLIP was developed by the University of Minnesota

DIFFERENCES FROM SMTPOP 1.1

This version is a maintenance upgrade from the second version, 1.1.
Aside from a few minor adjustments, two things are important in this
new release:

1. It will now read the PMAIL.INI file and obtain the 'from' user
   name from there. This was done after much thought, since I had
   no way of knowing if the format will remain unchanged as Mr.
   Harris upgrades Pegasus Mail for DOS.

2. The function that downloads mail from the POP3 server had to be
   re-written, both to accomplish a more reliable download because
   of a 'bug' in WATTCP, and also to increase the speed a little bit
   further.

3. It will no longer create empty files even if run from a different
   directory from where it is installed. It the environment variable
   SMTPOP is not set, it will simply refuse to continue.

A summary of SMTPOP's features and capabilities follows:

        It is very fast. It's speed can be appreciated by people who
        live in countries where local calls are metered.

        It has a maintenance mode (invoked by using the -m
        parameter) to add, modify, delete or list the accounts
        that will be serviced by SMTPOP. There is really no
        practical limit to the number of servers or
        accounts/server it can handle. You can use it for one
        account, or you can use it in a multiuser system to
        process several hundred accounts.

        Every account has all of the necessary information to
        deal with the type of action SMTPOP will perform: Send,
        Receive or Both. There is even an option to Ignore that
        account (ie.: when on vacation, leave of absence, etc.).

        You can process one ISP at a time, or you can process all
        of your ISP's in one connection, by including the switch
        -a at the command line. SMTPOP builds a query for every
        ISP and handles only those accounts that belong to that
        ISP. That means you can enter your accounts in any order
        you desire, and modify or delete them at will. SMTPOP is
        also very fast at this. Although I would not expect you
        to verify this, SMTPOP can query a 500,000 records file in
        less than 1 second.

ENVIRONMENT VARIABLE

SMTPOP creates it's account file the first time it is run. In
order for it to find this same file every time it is run, you
must set an environment variable in your AUTOEXEC.BAT file like
this:

SET SMTPOP=C:\SMTPOP12

This assumes that SMTPOP resides in drive C at directory
\SMTPOP12.

For your information, the files created by SMTPOP are called
USERS.DBF and USERS.CDX and are compatible with FoxPro 2.6 (c).

Although this will change in version 2.0 (now in development),
a utility will be included to covert to the new format. The
reason for the change being that I want SMTPOP to use less
conventional memory.

REQUIREMENTS

SMTPOP requires a packet driver similar to UMSLIP or DOSPPPD,
and will not run if one is not present.

It is assumed that you know how to load a suitable driver, and to
establish a connection with your ISP.

For optimal performance, I would recommend DOSPPPD from Toni Lopez.
If you have problems setting DOSPPPD, I have also developed a SETUP
program for DOSPPPD.

The process can be automated using a batch file. SMTPOP will 
return a non-zero error level if something goes wrong.

OVERVIEW

Once you extract the file SMTPOP12.ZIP, you will have
SMTPOP12.EXE.

Place it in a directory that's included in your path (C:\SMTPOP12
is a good place). It will locate the mail files in the directory
included in the maintenance mode.

Syntax is very simple:

SMTPOP12 -a | -m | -b server.domain

-a Process all accounts in one connection
-m Go into maintenance mode
-b server.domain Process only the accounts that reside in this
   server

One of these switches MUST be included in the command line.

MAINTENANCE MODE

When invoked with the -m switch, SMTPOP will go into maintenance
mode and show a screen with the following fields:

Server:         Enter the name of your server. This is the string
                to the right of the '@' sign.
User ID:        Enter your user name. This is the string to the
                left of the '@' sign.
Password:       The password used to login to your ISP.
Action:         Enter R to receive mail only, S to send mail
                only, B to do both, or I to ignore this account.
Delete Mail?:   Enter 'y' if you want SMTPOP to delete the
                messages from your ISP's disk once they are
                downloaded. Enter 'n' if you want to leave them
                there, although most ISP's will not be very happy
                if you leave mail behind.
Drive:          The drive letter where your mail resides.
Mail Dir.:      The directory where SMTPOP will find your
                outgoing messages, and place your incoming mail.
                Start this field with a '\'.
Full Name:      The name of the owner of the account. This is for
                information purposes only.

After this information has been entered, press 'S' to save it to
disk.

If you enter a server name and a userID that were previously
saved to disk, SMTPOP will allow you to make changes to that
information, including deleting from the file. You can also list
to screen those accounts that belong to a specific server, or all
of the accounts. The option to print a hard copy is not
implemented in this release.

RUNNING SMTPOP

After you have added at least one record to the user's file, you
can then proceed to run SMTPOP. Remember: a packet driver must
have been loaded, and a connection established with your ISP.

SMTPOP can be run in two modes: Single server, or all servers. If
you want to process one or all of the accounts for one server in
particular, you would enter:

SMTPOP12 -b server.domain

SMTPOP will process all of the accounts that belong to that
server, performing the action included in the 'Action' field.

If you want to process all of the servers in which you have valid
accounts, you would enter:

SMTPOP12 -a

Please note that you can check all your servers without having to
dial into everyone separately. SMTPOP is able to resolve the
address and connect to that server without any further
intervention from you. This provides a degree of flexibility not
found in any other package of a similar nature.

Once connected, SMTPOP will provide a continuous feedback of the
progress of the session, including the dialog with the ISP's
server, number of messages, total bytes to transfer, etc.

Please take note that it was not designed to be run from within
PMAIL. It is best suitable to run it as a batch process to handle
your outgoing and incoming mail in one bundle.

We have found it to be a lot faster than PMPOP, although I can 
not guarantee it will do the same for you. If you find it 
useful, let me know.

CONFIGURING WATTCP.CFG

SMTPOP needs to be properly configured in order to operate at its
best. This is done through a configuration file called WATTCP.CFG
which should be located in the same directory as SMTPOP12.EXE.

I have included a sample file that looks like this:

-------------------WATTCP.CFG
# WATTCP.CFG is a simple text file which provides the WATTCP TCP/IP stack
# with the basic information it needs to connect to your TCP/IP network.
# A sample WATTCP.CFG file might look like this:

my_ip=bootp                 # PPP Connection IP Address

netmask=255.255.255.0       # PPP/SLIP Netmask for the Interface
nameserver=0.0.0.0     # PPP/SLIP Nameserver
nameserver=0.0.0.0     # Alternate nameserver
nameserver=0.0.0.0     # Alternate nameserver
nameserver=0.0.0.0     # Alternate nameserver
gateway=0.0.0.0        # PPP/SLIP IP routing gateway

domainslist=""         # List of Domain Names

sockdelay=90           # Increase delay from default of 30 seconds
contime=60
retrans=4
mtu=512
rwin=1024
mss=512
TXBUFSIZE=8192
RXBUFSIZE=8192
--------------------------------

You should contact your ISP and obtain the information related to
the nameservers and the gateway. DO NOT leave the values that are
shown here. That WILL NOT work and only lead to frustration.

If you have any comments, suggestions, or just need further
assistance, please contact me via email.

Regards.

Alfredo Cole
ACyC
acyc@geocities.com
Tegucigalpa, Honduras

Phone: +(504) 265902  Fax: +(504) 267672
http://www.acyc.com