



                         SMTP/POP3 Email Engine

                        Library for Power Basic


                               (SEE4PB)


                             USERS MANUAL



                             Version 2.0

                             Oct 2, 1998




                     This software is provided as-is.
              There are no warranties, expressed or implied.




                           Copyright (C) 1998
                           All rights reserved



                       MarshallSoft Computing, Inc.
                           Post Office Box 4543
                           Huntsville AL 35815


                           Voice : 256-881-4630
                             FAX : 256-880-0925
                           email : info@marshallsoft.com
                             web : www.marshallsoft.com

                               _______
                          ____|__     |                (R)
                       --+       |    +-------------------
                         |   ____|__  |  Association of
                         |  |       |_|  Shareware
                         |__|   o   |    Professionals
                       --+--+   |   +---------------------
                            |___|___|    MEMBER


      MARSHALLSOFT is a registered trademark of MarshallSoft Computing.




     SEE4PB Users Manual                                       Page 1

                            C O N T E N T S



        Chapter                                     Page


       1.0 Introduction................................................3
           1.1 Email Client Compatibility..............................4
           1.2 User Support............................................4
           1.3 ASP Ombudsman...........................................4
           1.4 Installation............................................5
           1.5 Consulting Services.....................................5
       2.0 Library Overview............................................6
           2.1 Dynamic Link libraries..................................6
           2.2 Compiling Programs......................................6
       3.0 Email Basics................................................7
           3.1 Your Email Account......................................7
           3.2 Email Address Format....................................7
           3.3 MIME Extensions.........................................7
               3.3.1 Quoted-Printable Encoding.........................8
               3.3.2 Binary Attachments................................8
           3.4 Your SMTP Host Name.....................................8
       4.0 Theory of Operation.........................................9
       5.0 Versions of SEE............................................10
           4.1 Shareware Version......................................10
           4.2 Student Version........................................10
           4.3 Professional Version...................................10
       6.0 Using SEE with Other Languages.............................11
       7.0 Problems...................................................11
       8.0 Example Programs...........................................12
       9.0 Legal Issues...............................................13
           9.1 Registration...........................................13
           9.2 Academic Discount......................................13
           9.3 License................................................14
           9.4 Warranty...............................................14
       10.0 Summary...................................................15
           10.1 Revision History......................................15
           10.2 SEE4PB Function Summary...............................15
           10.3 SEE4PB Error Return Code List.........................16


















     SEE4PB Users Manual                                       Page 2

      1.0 Introduction

      The SMTP/POP3 Email Engine for Power Basic (SEE4PB) is a library of
      functions providing direct and simple control of the SMTP (Simple
      Mail Transport Protocol) and POP3 (Post Office 3) protocols for Power
      Basic programmers.

      Send and receive email from any application capable of calling the
      Windows API. The simple interface allows sending email, including
      MIME attachments. Knowledge of Winsock and TCP/IP is not needed.

      The following program segment demonstrates the use of the library
      functions:

      +-------------------------------------------------------------------+
      |                                                                   |
      | Dim Code As Integer                                               |
      | Dim Server, IsNull, To, From As Asciiz * 64                       |
      | Dim Subject, Message As Asciiz * 64                               |
      | IsNull = ""                                                       |
      | Server  = "mail.yourisp.com"                                      |
      | From    = "my name<me@myisp.com>"                                 |
      | To      = "<mike@marshallsoft.com>"                               |
      | Subject = "Power Basic Test"                                      |
      | Message = "Emailed from SEE4PB!"                                  |
      | .....                                                             |
      | Code = seeSmtpConnect(Server,From,IsNull)                         |
      | If Code < 0 Then                                                  |
      |   ' error calling seeSmtpConnect !                                |
      |   .....                                                           |
      | End If                                                            |
      | Code = seeSendEmail(To,IsNull,IsNull,Subject,Message,IsNull)      |
      | If Code < 0 Then                                                  |
      |   ' error calling seeSendEmail !                                  |
      |   .....                                                           |
      | End If                                                            |
      | Code = seeClose()                                                 |
      |                                                                   |
      +-------------------------------------------------------------------+

      In the example program above, seeSmtpConnect is called to connect to
      your SMTP mail host. The SMTP server host name and your email address
      are required, while the "Reply-To" entry (3rd arg) is optional.

      seeSendEmail is then called, passing the addressee lists. The primary
      addressee is given in the "To List". The CC ("Carbon Copy") lists
      additional recipients, as does the BCC (Blind Carbon Copy) list. The
      subject contains the email subject line. The message text is next. If
      it starts with the '@' symbol, it is considered the name of the file
      containing the email message. Last, the filename of any binary
      attachment is specified. All fields in seeSendEmail are optional
      except the first.

      After returning from seeSendEmail, the seeClose function is called to
      close the connection to the SMTP server.

      Refer to the SEE4PB Reference Manual for individual function details.

     SEE4PB Users Manual                                       Page 3

      1.1 Email Client Compatibility

      The SMTP/POP3 Email Engine library has been tested against multiple
      email clients, including Eudora (Lite & Pro), Microsoft Outlook,
      Pegasus, Calypso, PM Mail 98, Actif Mail, and Netscape.

      1.2 User Support

      We want you to be successful in developing your applications using
      SEE4PB! We are committed to providing the best library that we can.
      If you have any suggestions or comments, please let us know.

      If you are having a problem using SEE4PB, call us at 256-881-4630
      between 8:30 AM and 8:30 PM CST Monday through Friday. You can often
      get us on the weekend. We also provide customer support by email at

           support@marshallsoft.com

      The latest versions of our products are available on our web site at

           http://www.marshallsoft.com

      and on our anonymous ftp site at

           ftp://ftp.marshallsoft.com/marshallsoft

      The MarshallSoft Computing newsletter "Comm Talk" is published
      quarterly on our web site.  It discusses various communications
      problems and solutions using SEE4PB as well as related information.

      1.3 ASP Ombudsman

      MarshallSoft Computing, Inc. is a member of the Association of
      Shareware Professionals (ASP).  ASP wants to make sure that the
      shareware principle works for you.  If you are unable to resolve a
      shareware-related problem with an ASP member by contacting the member
      directly, ASP may be able to help. The ASP Ombudsman can help you
      resolve a dispute or problem with an ASP member, but does not provide
      technical support for members' products. Please write to the ASP
      Ombudsman at 157-F Love Ave., Greenwood, IN 26142 USA, FAX
      317-888-2195, or send email to omb@asp-shareware.org.

















     SEE4PB Users Manual                                       Page 4

      1.4 Installation

      (1) Before installation of SEE4PB, your Power Basic Console Compiler
      (or Power Basic DLL Compiler) should already be installed on your
      system and tested.

      (2) Make a backup copy of your distribution disk.  Put your original
      distribution disk in a safe place.

      (3) Exit Windows into DOS, or start a DOS window:

      (4) Create your SEE project directory, copy the SEE archive, then
      unzip the archive. For example:

                MKDIR   SEE4PB
                PKUNZIP SEE4PB20.ZIP SEE4PB

      (5) Before compiling any example programs, edit the file EMAIL.INC
      with your SMTP/POP3 host name and email address.

      1.5 Consulting Services

      We offer consulting services at $75 per hour, billed to your credit
      card in 10 minute increments. A work authorization letter must be
      signed and mailed or FAXed to us before we can start.

      Questions dealing with the use of our library or our example programs
      are covered as "support", for which there is no charge. Any other
      questions are considered consulting.





























     SEE4PB Users Manual                                       Page 5

      2.0 Library Overview

      2.1 Dynamic Link Libraries

      SEE4PB uses a Win32 [SEE32.DLL] dynamic link library (DLL). A DLL is
      characterized by the fact that it need not be loaded until required
      by an application program and that only one copy of the DLL is
      necessary regardless of the number of application programs that use
      it. Contrast this to the traditional static library which is bound to
      each and every application that uses it at link time.

      Since SEE4PB is a DLL, only one copy of the SEE4PB code is loaded
      into memory regardless of the number of applications programs that
      use it. For example, more than one instance of the test program
      MAILER can be started.  All copies of MAILER can run concurrently.

      2.2 Compiling Programs

      The example programs are compiled at the command line with the Power
      Basic Console Compiler:

         PBCC MAILER.BAS
         PBCC READER.BAS
         PBCC STAT.BAS
         PBCC STATUS.BAS
         PBCC DELETE.BAS
         PBCC BCAST.BAS































     SEE4PB Users Manual                                       Page 6

      3.0 Email Basics

      3.1 Your Email Account

      Your email account is hosted on a computer which has a permanent
      connection to the Internet. Email is sent to you over the Internet using
      the SMTP (Simple Mail Transport Protocol) and is stored on disk until
      you retrieve it using the POP3 (Post Office Protocol 3) or IMAP
      (Internet Message Access Protocol) protocol. POP3 is a subset of IMAP,
      so the POP3 protocol can be used to email from a IMAP email server.

      The SMTP/POP3 Email Engine (SEE) is used to send and receive email
      using the SMTP and POP3 protocols.

      3.2 Email Address Format

      Email addresses are always specified as "xxx<yyy@zzz>" where

         (1) xxx is the optional "real name".

         (2) yyy@zzz is the official email address,
             where yyy is your account name, and
             zzz is where your email account is hosted.

         (3) The brackets are required.

      For example, my email address can be specified by any of the
      following:

         (1) <mike@marshallsoft.com>
         (2) Mike<mike@marshallsoft.com>
         (3) Mike Marshall <mike@marshallsoft.com>

      Multiple email addresses can be stringed together separated by
      commas, as in:

         "<mike@myisp.com>,<pam@myisp.com>,<lauren@myisp.com>"

      See the sample programs for many examples of use.

      3.3 MIME Extensions

      Internet mail can only transport 7-bit ASCII characters. Multipurpose
      Internet Mail Extensions (MIME) are used to allow the attachment of
      binary data to an email message.

      The standard MIME attachment types are "quoted-printable" and "base64".
      The SMTP/POP3 Email Engine library supports both.










     SEE4PB Users Manual                                       Page 7

      3.3.1 Quoted-Printable Encoding

      Quoted-Printable encoding is primarily used to embed binary values
      into a email message, typically for use with foreign alphabets.

      To enable Quoted-Printable encoding, call

          seeIntegerParam(SEE_QUOTED_PRINTABLE, 1);

      before calling seeSendEmail.

      To disable Quoted-Printable encoding, call

          seeIntegerParam(SEE_QUOTED_PRINTABLE, 0);

      The default is Quoted-Printable encoding off.

      3.3.2 Binary Attachments

      Binary attachments are encoded using MIME base-64. Most all email
      clients (such as made by Eudora, Netscape, and Microsoft) can decode
      MIME base-64 attachments.

      To attach a file to your email, you specify the filename as the last
      argument of the seeSendEmail function. Refer to the reference manual
      for more details. Multiple attachments are listed with commas
      separating them, such as "file1.zip,file2.zip,file3.zip".

      3.4 Your SMTP/POP3 Host Name

      In order to send or receive email, you must know the name (or IP
      address) of your mail server. All email client programs (Eudora,
      etc.) must have this name in order to send email.

      Typically, your email server name will be "mail.XXX.YYY" where
      XXX.YYY is the name of the computer which hosts your email account.
      If you aren't sure of your email host name, look in the setup of your
      email client program or ask your system administrator.

      Before compiling any example programs, you must edit the file EMAIL.H
      with your email configuration as described in section 3.5.

















     SEE4PB Users Manual                                       Page 8

      4.0 Theory Of Operation

      The SMTP/POP3 Email Engine is state driven. This means that each
      call to SEE functions (that access the server) is broken down into
      sequential steps, each of which can be performed within a second or
      two.

      There are two ways in which SEE is used: (1) indirect use of the
      state engine, and (2) direct use of the state engine.

      4.1 Indirect Method

      The first (or "indirect") way to use the SEE library is to allow all SEE
      function calls to automatically call the SEE driver (seeDriver) before
      returning. This is the default way that SEE operates.

      The major advantage of this approach is that each SEE function
      returns only after it has completely finished. The disadvantage of
      this approach is that some functions may run for a considerable
      amount of time during which time the calling application must wait.

      All example programs except READER use this approach.

      4.2 Direct Method

      The second (or "direct") way that the SEE state driver is used is to
      call it (seeDriver) directly. In order to operate this way, the
      function seeIntegerParam must be called which sets the AUTO_CALL flag
      to off:

         seeIntegerParam(SEE_AUTO_CALL_DRIVER, 0)

      After the above statement is executed, the state driver (seeDriver)
      must be called after all other SEE functions that access the server.

         Code = seeSmtpConnect(...)
         IF Code < 0 THEN
           ' handle error here . . .
         END IF
         DO  'call the driver
           Code = seeDriver()
           IF Code < 0 THEN
             ' handle error here . . .
             EXIT DO
           END IF
           IF Code = 0 THEN
             EXIT DO
           END IF
           ' do something here . . .
         LOOP

      The major advantage of the direct approach is that the calling
      application can perform other work such as reporting the progress of
      large downloads. The disadvantage is the extra code that must be
      written to call seeDriver. See MAILER.BAS for an example.



     SEE4PB Users Manual                                       Page 9

      5.0 Versions of SEE

      The SMTP/POP3 Email Engine (SEE) library is available in three
      versions. All three versions have identical functionality.

      5.1 Shareware Version

      The shareware version can be differentiated from the other two
      versions by:

      (1) The shareware reminder screen is displayed at startup.

      (2) The "X-Registered-To: " header in all outgoing email is branded with
          "X-Registered-To: SHAREWARE VERSION [http://www.marshallsoft.com]"

      (3) All email is followed by the following two lines:
          "______________________________________________________________"
          "MarshallSoft SMTP Engine. Programmers see www.marshallsoft.com"

      The Shareware version may not be used for commercial purposes.

      5.2 Student Version

      The student version can be differentiated from the other two versions
      by:

      (1) There is no shareware reminder screen.

      (2) The "X-Registered-To: " header in all outgoing email is branded with
          "X-Registered-To: STUDENT VERSION [http://www.marshallsoft.com]"

      (3) There are no lines added to the end of the email as in the
          shareware version.

      The Student version may not be used for commercial purposes.

      5.3 Professional Version

      The professional version can be differentiated from the other two versions
      by:

      (1) There is no shareware reminder screen.

      (2) The "X-Registered-To: " header in all outgoing email is branded with
          your company name.

      (3) There are no lines added to the end of the email as in the
          shareware version.

      The professional version may be distributed with your application as
      per the the software license.







     SEE4PB Users Manual                                       Page 10

      6.0 Using SEE with Other Languages

      The SMTP/POP3 Email Engine DLL can be used with any application
      written in any language capable of calling the Windows 32-bit API.

      Also note that there are versions for C/C++ (SEE4C), Visual Basic
      (SEE4VB), Delphi (SEE4D), COBOL (SEE4CB), and Fortran (SEE4F).

      7.0 Problems

      Before attempting to run any of the example programs, you should
      already be able to connect to the Internet and run your email client
      program, such as Eudora or Pegasus Mail.

      If you cannot get your application to run properly, first compile and
      run the example programs. If you call us to report a possible bug in
      the library, the first thing we will ask is if the example programs
      run correctly.

      Be sure to test the code returned from SEE functions. Then, call
      seeErrorText to get the text associated with the error code.

      For example:

      +-------------------------------------------------------------------+
      |                                                                   |
      | Sub ShowError ()                                                  |
      | Dim Code As Integer                                               |
      | Dim Buffer As Asciiz * 81                                         |
      | ' get error text associated with error                            |
      | Code = seeErrorText(Code, Buffer, 80)                             |
      | ' display error text in Buffer                                    |
      | .....                                                             |
      | End Sub                                                           |
      |                                                                   |
      +-------------------------------------------------------------------+

      If you encounter a problem that you cannot resolve, give us a call or
      email us at info@marshallsoft.com.



















     SEE4PB Users Manual                                       Page 11

      8.0 Example Programs

      Six PBCC example programs are included in SEE4PB.

      Before compiling the example programs, edit the include file
      EMAIL.INC with your SMTP/POP3 host and email address. Refer to
      section 3.4 for more information on SMTP/POP3 server names.

      8.1 STAT

      STAT is a very simple program that returns the number of email
      messages waiting on your POP3 server. This is the first example to
      edit, compile, and run.

      8.2 MAILER

      MAILER emails a message, including an optional MIME attachment.

      8.3 STATUS

      STATUS reads the number of email messages waiting on your POP3
      server, and displays the "DATE:", "FROM:", and "SUBJECT:" header
      fields from each email.

      8.4 READER

      READER reads an email message from your server, including any MIME
      attachments. The email message is saved as a file.

      8.5 DELETE

      DELETE deletes an email message from the server. Be careful! Once
      deleted, an email message cannot be recovered.

      8.6 BCAST

      BCAST (Broadcast) emails the same message to each recipient from a
      file of email addresses. You must create the file containing the
      email message to send, and create another file containing the list of
      recipients.


















     SEE4PB Users Manual                                       Page 12

      9.0 Legal Issues

      9.1 Registration

      The professional version of SEE4PB may be registered for $95 plus $7
      S&H ($12 outside of North America). The professional registered DLLs
      may be distributed (without royalty) in object form only, as part of
      the user's application, provided that the application is NOT a
      compiler, interpreter, or other software development program.

      The professional version DLL is also branded with your company name.

      To order, contact us as shown on the title page of this manual. All
      prices are guaranteed for one year from the release date.

      Multiple copy discounts (3 or more) and site licenses are available.
      Please call for details.

      We  accept American Express, VISA, MasterCard, Discover, checks in US
      dollars drawn on  a  US  bank,  International  Postal  Money  Orders,
      purchase orders (POs) from recognized US schools and companies listed
      in  Dun  &  Bradstreet,  and  COD  (street  address  and phone number
      required) within the USA (plus a $5 COD charge).

      For credit card orders, be sure to include the account number, the
      expiration date, the exact name on the card, and the complete card
      billing address (the address to which the credit card bill is
      mailed).

      Print the file INVOICE.TXT if a "Pro Forma" invoice is needed. The
      registered package includes:

           o  Win16 & Win32 SEE Libraries w/o shareware screens.
           o  Printed Users Manual & Reference Manual.
           o  Telephone and email support for one year.

      The registered user will receive the latest version of SEE4PB shipped
      by US second day priority mail (packet airmail overseas).  A 3.5"
      HD diskette is provided.

      9.2 Academic Discount

      We offer an "academic price" of 40% off the normal price for prepaid
      email orders to faculty and students currently enrolled in any
      accredited high school, college, or university. To qualify for the
      discount, your school must have a web site and you must have an email
      address at your school.

      When ordering, ask for the "academic discount", or enter "student
      at" (or "faculty at") and your schools web site address (URL) in the
      comments field of the order form on our web site order page . Your
      order will be sent to your email address at your school.

      This offer is not retroactive and cannot be used with any other
      discount. Products bought with academic pricing can not be used for
      any commercial purpose.


     SEE4PB Users Manual                                       Page 13

      9.3 License

      MarshallSoft Computing, Inc. grants the registered user of SEE4PB the
      right to use one copy of the SEE4PB library (in object form) on a
      single computer in the development of any software product (other
      than libraries such as SEE4PB). The user may not use the the library
      on more than one computer at the same time.

      The "student" (40% academic discount) registered DLLs may not be
      distributed under any circumstances, nor may they be used for any
      commercial purpose.

      The "professional" ($95) registered DLLs may be distributed (without
      royalty) in object form only, as part of the user's application,
      provided that the DLLs are NOT distributed publicly.

      9.4 Warranty

      THIS SOFTWARE, WHETHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT
      LIMITED TO ANY IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
      A PARTICULAR PURPOSE, AND ALL SUCH WARRANTIES ARE EXPRESSLY AND
      SPECIFICALLY DISCLAIMED. NEITHER MARSHALLSOFT COMPUTING, INC.  NOR
      ANYONE ELSE WHO HAS BEEN INVOLVED IN THE CREATION, PRODUCTION, OR
      DELIVERY OF THIS SOFTWARE SHALL BE LIABLE FOR ANY INDIRECT,
      CONSEQUENTIAL, OR INCIDENTAL DAMAGES ARISING OUT OF THE USE OR
      INABILITY TO USE SUCH SOFTWARE EVEN IF MARSHALLSOFT COMPUTING, INC.
      HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES OR CLAIMS. IN NO
      EVENT SHALL MARSHALLSOFT COMPUTING, INC.'S LIABILITY FOR ANY SUCH
      DAMAGES EVER EXCEED THE PRICE PAID FOR THE LICENSE TO USE THE
      SOFTWARE, REGARDLESS OF THE FORM OF THE CLAIM. THE PERSON USING THE
      SOFTWARE BEARS ALL RISK AS TO THE QUALITY AND PERFORMANCE OF THE
      SOFTWARE.

      Some states do not allow the exclusion of the limit of liability for
      consequential or incidental damages, so the above limitation may not
      apply to you.

      This agreement shall be governed by the laws of the State of Alabama
      and shall inure to the benefit of MarshallSoft Computing, Inc.  and
      any successors, administrators, heirs and assigns.  Any action or
      proceeding brought by either party against the other arising out of
      or related to this agreement shall be brought only in a STATE or
      FEDERAL COURT of competent jurisdiction located in Madison County,
      Alabama. The parties hereby consent to in personam jurisdiction of
      said courts.













     SEE4PB Users Manual                                       Page 14

      10.0 Summary

      10.1 Revision History

      The SMTP/POP3 Email Engine DLLs (SEE16.DLL and SEE32.DLL) are written
      in ANSI C. All language versions of SEE (C/C++, Delphi, Visual Basic,
      Power Basic, COBOL, Fortran) use the same identical DLLs.

      Version 2.0: October 2, 1998.

          o  Initial PBCC release.


      10.2 SEE4PB Function Summary

      Refer to the SEE4PB Reference Manual (SEE4PB_R.TXT) for detailed
      information on the communications and support functions.  A one line
      summary of each function follows.

      There are 16 functions in the SEE library.

      +-------------------+-----------------------------------------------+
      |         seeClose  |  Closes SMTP/POP3 Email Engine.               |
      |        seeDelete  |  Deletes email.                               |
      |   seeSmtpConnect  |  Connects to SMTP server.                     |
      |         seeDebug  |  Returns debug information.                   |
      |       seeDriver   |  Executes next SEE state.                     |
      |  seeExtractText   |  Extracts line contining specified text.      |
      |     seeErrorText  |  Get text associated with error code.         |
      | seeGetEmailCount  |  Get number of emails waiting on server.      |
      |  seeGetEmailFile  |  Read email file and save to disk.            |
      | seeGetEmailLines  |  Read email lines into buffer.                |
      |  seeIntegerParam  |  Sets SEE integer parameter.                  |
      |    seePop3Connect |  Connects to POP3 server.                     |
      |     seeSendEmail  |  Sends email and attachments.                 |
      |    seeStatistics  |  Returns runtime statistics.                  |
      |   seeStringParam  |  Sets SEE string parameter.                   |
      | seeVerifyFormat   |  Check email address.                         |
      +-------------------+-----------------------------------------------+



















     SEE4PB Users Manual                                       Page 15

      10.3 SEE4PB Error Return Code List

      The complete list of SEE error codes follows.

      +-----------------------+-----------------------------------------+
      | SEE_NO_ERROR          | No error.                               |
      | SEE_CANNOT_COMPLY     | Cannot comply. Not always an error.     |
      +-----------------------+-----------------------------------------+
      | SEE_EOF               | End of file (socket has been closed).   |
      | SEE_IS_BLOCKING       | Socket is currently blocking.           |
      | SEE_BAD_DOTTED        | Bad dotted address.                     |
      | SEE_TIMED_OUT         | Socket timed out awaiting data.         |
      | SEE_ABORTED           | The DLL has been corrupted.             |
      | SEE_ALREADY_CONNECTED | Already connected to server.            |
      | SEE_BACK_OVERFLOW     | Response buffer has overflowed.         |
      | SEE_BAD_ADDRESS_CHAR  | Bad character in email address.         |
      | SEE_CANNOT_ATTACH     | Cannot access WINSOCK                   |
      | SEE_CANNOT_OPEN       | Cannot open file.                       |
      | SEE_CONNECT_ERROR     | Error attempting to connect.            |
      | SEE_EMPTY_ADDRESS     | EMPTY email address.                    |
      | SEE_FROM_NULL_ARG     | FromPtr is NULL.                        |
      | SEE_MISSING_AT_CHAR   | Missing '@' character in email address. |
      | SEE_MISSING_FROM      | Missing FROM email address.             |
      | SEE_MISSING_LEFT      | Missing '<' delimiter in email address. |
      | SEE_MISSING_RIGHT     | Missing '>' terminating email address.  |
      | SEE_NOT_CONNECTED     | Not connected to server                 |
      | SEE_NO_RECEIPIENTS    | Must have at least one receipient.      |
      | SEE_NO_SERVER         | Cannot find Smtp server.                |
      | SEE_NULL_POINTER      | Unexpected NULL pointer.                |
      | SEE_RCPT_NULL_ARG     | ToPtr is NULL.                          |
      | SEE_SMTP_ERROR        | SMTP returned error.                    |
      | SEE_SMTP_NULL_ARG     | SMTP Server not specified.              |
      | SEE_SOCK_READ_ERROR   | Socket read error.                      |
      | SEE_SOCK_WRITE_ERROR  | Socket write error.                     |
      | SEE_TOO_MANY_AT_CHARS | Too many '@' symbols in email address.  |
      | SEE_SMTP_ONLY         | Must be connected to SMTP server.       |
      | SEE_POP3_ONLY         | Must be connected to POP3 server.       |
      | SEE_USER_NULL_ARG     | Required POP3 user argument is missing. |
      | SEE_PASS_NULL_ARG     | Required POP3 password argument missing.|
      | SEE_POP3_ERROR        | Error returned by POP3 server.          |
      | SEE_MSG_NBR_RANGE     | Message number out of range.            |
      | SEE_FILENAME_NULL_ARG | Required filename is missing.           |
      | SEE_EMAIL_PATH_NULL   | Required file path is missing.          |
      | SEE_CANNOT_CREATE     | Cannot create file.                     |
      | SEE_BUFFER_NULL_ARG   | Required buffer is missing.             |
      +-----------------------+-----------------------------------------+

      NOTES:

      (1) All error codes are negative.
      (2) SEE_ABORTED will be returned if the DLL has been modified. You
          should never get this message!






     SEE4PB Users Manual                                       Page 16

