home *** CD-ROM | disk | FTP | other *** search
/ Hot Shareware 35 / hot35.iso / ficheros / LC / SEE4C10.ZIP / SEE4C_U.TXT < prev    next >
Text File  |  1998-05-30  |  40KB  |  1,143 lines

  1.  
  2.  
  3.  
  4.  
  5.                            SMTP Email Engine
  6.  
  7.                            Library for C/C++
  8.  
  9.                                  (SEE4C)
  10.  
  11.  
  12.                              USERS MANUAL
  13.  
  14.  
  15.  
  16.                                Version 1.0
  17.  
  18.                                June 1, 1998
  19.  
  20.  
  21.  
  22.  
  23.                      This software is provided as-is.
  24.               There are no warranties, expressed or implied.
  25.  
  26.  
  27.  
  28.  
  29.                          Copyright (C) 1998
  30.                            All rights reserved
  31.  
  32.  
  33.  
  34.                        MarshallSoft Computing, Inc.
  35.                            Post Office Box 4543
  36.                            Huntsville AL 35815
  37.  
  38.  
  39.                            Voice : 256-881-4630
  40.                              FAX : 256-880-0925
  41.                            email : info@marshallsoft.com
  42.                              web : www.marshallsoft.com
  43.  
  44.                                _______
  45.                           ____|__     |                (R)
  46.                        --+       |    +-------------------
  47.                          |   ____|__  |  Association of
  48.                          |  |       |_|  Shareware
  49.                          |__|   o   |    Professionals
  50.                        --+--+   |   +---------------------
  51.                             |___|___|    MEMBER
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.      SEE4C Users Manual                                        Page 1
  61.  
  62.                             C O N T E N T S
  63.  
  64.  
  65.  
  66.         Chapter                                     Page
  67.  
  68.  
  69.        1.0 Introduction................................................3
  70.            1.1 Email Client Compatibility..............................3
  71.            1.2 User Support............................................4
  72.            1.3 ASP Ombudsman...........................................4
  73.            1.4 Installation............................................5
  74.            1.5 Consulting Services.....................................5
  75.        2.0 Library Overview............................................6
  76.            2.1 Dynamic Link libraries..................................6
  77.            2.2 Compiler Compatibilty...................................6
  78.            2.3 Compiling Programs......................................6
  79.            2.4 Using a MAKEFILE........................................6
  80.            2.5 Using an IDE............................................7
  81.            2.6 Compiling the Example Programs..........................9
  82.        3.0 Email Basics...............................................10
  83.            3.1 Your Email Account.....................................10
  84.            3.2 Email Address Format...................................10
  85.            3.3 MIME Extensions........................................10
  86.            3.4 Your SMTP Host Name....................................11
  87.        4.0 Versions of SEE............................................12
  88.            4.1 Shareware Version......................................12
  89.            4.2 Student Version........................................12
  90.            4.3 Professional Version...................................12
  91.        5.0 Using SEE with Other Languages.............................13
  92.        6.0 Problems...................................................14
  93.        7.0 Example Programs...........................................14
  94.        8.0 Legal Issues...............................................15
  95.            8.1 Registration...........................................15
  96.            8.2 License................................................16
  97.            8.3 Warranty...............................................16
  98.        9.0 Summary....................................................17
  99.            9.1 Revision History.......................................17
  100.            9.2 SEE Function Summary...................................17
  101.            9.3 SEE Error Return Code List.............................18
  102.       10.0 Other MarshallSoft Computing Products......................19
  103.            10.1 The Winsock Interface Library for C++.................19
  104.            10.2 The Windows Standard Communications Library for C/C+..19
  105.            10.3 Libraries for Other Languages.........................19
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.      SEE4C Users Manual                                        Page 2
  121.  
  122.       1.0 Introduction
  123.  
  124.       The SMTP Email Engine (SEE) is a library of functions providing
  125.       direct and simple control of the SMTP (Simple Mail Transport
  126.       Protocol) protocol.
  127.  
  128.       Email from any application capable of calling the Windows API. Simple
  129.       interface allows sending email, including MIME attachments. Knowledge
  130.       of Winsock and TCP/IP not needed. Includes multiple C/C++ examples.
  131.  
  132.       The following example demonstrates the use of the library functions:
  133.  
  134.       +-------------------------------------------------------------------+
  135.       | #include <windows.h>                                              |
  136.       | #include <stdio.h>                                                |
  137.       | #include "see.h"                                                  |
  138.       |                                                                   |
  139.       | void main(int argc, char *argv[])                                 |
  140.       | {int Code;                                                        |
  141.       |  /* connect to SMTP server */                                     |
  142.       |  seeConnectTo(                                                    |
  143.       |    (LPSTR)"mail.yourserver.net",  /* your SMTP server */          |
  144.       |    (LPSTR)"user@domain.com",      /* your email address */        |
  145.       |    (LPSTR)NULL);                  /* Reply-To header */           |
  146.       |  /* send email */                                                 |
  147.       |  seeSendEmail(                                                    |
  148.       |    (LPSTR)"see@marshallsoft.com", /* To list */                   |
  149.       |    (LPSTR)NULL,                   /* CC list */                   |
  150.       |    (LPSTR)NULL,                   /* BCC list */                  |
  151.       |    (LPSTR)"SEE Test",             /* Subject */                   |
  152.       |    (LPSTR)"This is a test.",      /* Message text */              |
  153.       |    (LPSTR)"SEE4C10.ZIP");         /* MIME attachment */           |
  154.       |  seeClose();                                                      |
  155.       | }                                                                 |
  156.       +-------------------------------------------------------------------+
  157.  
  158.       In the example program above, seeConnectTo is called to connect to
  159.       your SMTP mail host. The SMTP server host name and your email address
  160.       are required, while the "Reply-To" entry is optional.
  161.  
  162.       seeSendEmail is then called, passing the addressee lists. The primary
  163.       addressee is given in the "To List". The CC ("Carbon Copy") lists
  164.       additional receipients, as does the BCC (Blind Carbon Copy) list. The
  165.       subject contains the email subject line. The message text is next. If
  166.       it starts with the '@' symbol, it is considered the name of the file
  167.       containing the email message. Last, the filename of any binary
  168.       attachment is specified. All fields in seeSendEmail are optional
  169.       except the first.
  170.  
  171.       After returning from seeSendEmail, the seeClose function is called to
  172.       close the connection to the SMTP server.
  173.  
  174.       Refer to the SEE4C Reference Manual for individual function details.
  175.  
  176.  
  177.  
  178.  
  179.  
  180.      SEE4C Users Manual                                        Page 3
  181.  
  182.       1.1 Email Client Compatibility
  183.  
  184.       The SMTP Email Engine library has been tested against multiple email
  185.       clients, including Eudora (Lite & Pro), Microsoft Outlook, Pegasus,
  186.       Calypso, PM Mail 98, Actif Mail, and Netscape.
  187.  
  188.       1.2 User Support
  189.  
  190.       We want you to be successful in developing your applications using
  191.       SEE4C! We are committed to providing the best library that we can. If
  192.       you have any suggestions or comments, please let us know.
  193.  
  194.       If you are having a problem using SEE4C, call us at 256-881-4630
  195.       between 1:30 PM and 9:30 PM CST Monday through Friday. You can often
  196.       get us on the weekend. We also provide customer support by email at
  197.  
  198.            support@marshallsoft.com
  199.  
  200.       The latest versions of our products are available on our web site at
  201.  
  202.            http://www.marshallsoft.com
  203.  
  204.       and on our anonymous ftp site at
  205.  
  206.            ftp://ftp.marshallsoft.com/marshallsoft
  207.  
  208.       The MarshallSoft Computing newsletter "Comm Talk" is published
  209.       quarterly on our web site.  It discusses various communications
  210.       problems and solutions using SEE4C as well as related information.
  211.  
  212.       1.3 ASP Ombudsman
  213.  
  214.       MarshallSoft Computing, Inc. is a member of the Association of
  215.       Shareware Professionals (ASP).  ASP wants to make sure that the
  216.       shareware principle works for you.  If you are unable to resolve a
  217.       shareware-related problem with an ASP member by contacting the member
  218.       directly, ASP may be able to help. The ASP Ombudsman can help you
  219.       resolve a dispute or problem with an ASP member, but does not provide
  220.       technical support for members' products. Please write to the ASP
  221.       Ombudsman at 157-F Love Ave., Greenwood, IN 26142 USA, FAX
  222.       317-888-2195, or send email to omb@asp-shareware.org.
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.      SEE4C Users Manual                                        Page 4
  241.  
  242.       1.4 Installation
  243.  
  244.       (1) Before installation of SEE4C, your Windows C/C++ compiler should
  245.       already be installed on your system and tested. In particular,
  246.       include command line tools when installing your compiler.
  247.  
  248.       (2) Make a backup copy of your distribution disk.  Put your original
  249.       distribution disk in a safe place.
  250.  
  251.       (3) Exit Windows into DOS, or start a DOS window:
  252.  
  253.       (4) Create your SEE project directory, copy the SEE archive, then
  254.       unzip the archive. For example:
  255.  
  256.                 MKDIR   SEE4C
  257.                 PKUNZIP SEE4C10.ZIP SEE4C
  258.  
  259.       (5) Run the INSTALL batch file, which will copy the correct DLL and
  260.       LIB files for your compiler. For Win32 compilers, you may choose
  261.       native mode DLLs for your compiler (Microsoft, Borland, or Watcom) or
  262.       "universal" mode, which requires that your compiler support the
  263.       "declspec" keyword. Microsoft, Borland 5.0 and Watcom 11.0 all
  264.       support "declspec". The same DLL is used for all Win16 compilers.
  265.  
  266.                 INSTALL MS      (Microsoft)
  267.                 INSTALL BC      (Borland)
  268.                 INSTALL WC      (Watcom)
  269.                 INSTALL U       (Universal)
  270.  
  271.       (6) Before compiling any example programs, edit them with your SMTP
  272.       Host and email address. Look in the source (first few lines) for:
  273.  
  274.          #define SMTP_HOST_NAME  "smtp_host_name"
  275.          #define YOUR_EMAIL_ADDR "your_email_address"
  276.  
  277.       Replace smtp_host_name with the name of your SMTP Host name, and
  278.       your_email_address with your email address. See section 3.4 for more
  279.       details.
  280.  
  281.       1.5 Consulting Services
  282.  
  283.       We offer consulting services at $75 per hour, billed to your credit
  284.       card in 10 minute increments. A work authorization letter must be
  285.       signed and mailed or FAXed to us before we can start.
  286.  
  287.       Questions dealing with the use of our library or our example programs
  288.       are covered as "support", for which there is no charge. Any other
  289.       questions are considered consulting.
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.      SEE4C Users Manual                                        Page 5
  301.  
  302.       2.0 Library Overview
  303.  
  304.       2.1 Dynamic Link Libraries
  305.  
  306.       SEE4C includes both Win16 [SEE16] and a Win32 [SEE32] dynamic link
  307.       library (DLL). A DLL is characterized by the fact that it need not be
  308.       loaded until required by an application program and that only one
  309.       copy of the DLL is necessary regardless of the number of application
  310.       programs that use it. Contrast this to the traditional static library
  311.       which is bound to each and every application that uses it at link
  312.       time.
  313.  
  314.       Since SEE4C is a DLL, only one copy of the SEE4C code is loaded into
  315.       memory regardless of the number of applications programs that use it.
  316.       For example, more than one instance of the test program MAILER can be
  317.       started.  All copies of MAILER can run concurrently.
  318.  
  319.       2.2 Compiler Compatibilty
  320.  
  321.       SEE4C has been tested with Microsoft Visual C/C++, Borland C/C++
  322.       (including C++ Builder), Turbo C/C++, and Watcom C/C++. Other Windows
  323.       C/C++ compiler may work as well.
  324.  
  325.       2.3 Compiling Programs
  326.  
  327.       The example programs can be compiled by using either the provided
  328.       makefiles or creating a project file for the IDE. Separate makefiles
  329.       are provided for Win16 and Win32. 16-bit makefile end with "16" while
  330.       32-bit makefiles end with "32".
  331.  
  332.       The various Win32 compiler manufacturers each use different compiler
  333.       setting so that a DLL compiled with one compiler cannot always be
  334.       called by an application compiled with a different compiler.
  335.  
  336.       One solution is to use of "declspec" keyword provided that your
  337.       compiler supports it. See INSTALL.BAT.
  338.  
  339.       2.4 Using a MAKEFILE
  340.  
  341.       Makefiles originated on UNIX systems. They are the standard way that
  342.       C/C++ programs are constructed in command line environments. Windows
  343.       programs can be constructed with makefiles running DOS using command
  344.       line Windows compilers.
  345.  
  346.       Makefiles are provided for Microsoft, Borland, and WATCOM command
  347.       line compilers. Makefiles have file extensions of "_M_" for
  348.       Microsoft, "_B_" for Borland, and "_W_" for WATCOM. Thus,
  349.       MAILER16._W_ is the Watcom Win16 makefile for MAILER and MAILER32._M_
  350.       is the Microsoft Win32 makefile.
  351.  
  352.       Turbo C/C++ for Windows and Borland C Builder do not support command
  353.       line makefiles. See MAKEFILE.TXT for more information on makefiles.
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.      SEE4C Users Manual                                        Page 6
  361.  
  362.       2.5 Using an IDE
  363.  
  364.       All current windows compilers have an Integrated Development
  365.       Environment (IDE) for building application programs in the Windows
  366.       environment. Since there is no standard format for IDE project files,
  367.       file names must be entered into the IDE from the keyboard.  Each
  368.       example program has a project text file (e.g. MAILER.PRJ) which
  369.       contains the list of filenames that must be entered into the IDE.
  370.  
  371.       We do not distribute IDE files in our package because (1) they are
  372.       very large, (2) they are not always upwardly compatible with previous
  373.       versions of a particular IDE, (3) there is no standard project file
  374.       format between compiler manufactures, and (4) they often must be
  375.       modified to provide the correct path names.
  376.  
  377.       However, creating a project file within the IDE is very easy. Each
  378.       application has a project file . Each project file contains the
  379.       filenames that must be entered into the IDE.
  380.  
  381.       For each IDE, you will have to enter these filenames into the IDE.
  382.       This is usually done with the INS key except for the Microsoft
  383.       Developer, which uses menu commands. Be careful to enter all
  384.       filenames as listed in the ".PRJ" file.
  385.  
  386.       All of the example application programs have been built using IDEs
  387.       from Microsoft, Borland, and Watcom. However, there are differences
  388.       between IDE versions from the same compiler manufacturer.
  389.  
  390.       All of the IDEs use the concept of a file hierarchy. For example, the
  391.       Finger file hierarchy in the IDE (for 32-bit) should look like:
  392.  
  393.          MAILER.EXE
  394.          +++ MAILER.C
  395.          +++ SEE32.LIB
  396.  
  397.       Replace SEE32.LIB above with SEE16.LIB for 16-bit applications. The
  398.       order of the files is not significant.
  399.  
  400.       2.5.1 Microsoft IDE
  401.  
  402.       Choose "Project", then "New". Select Win16 [Win32] as the target. A
  403.       dialog box will then pop up into which the project file names are
  404.       entered.
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.      SEE4C Users Manual                                        Page 7
  421.  
  422.       2.5.2 Microsoft Developer
  423.  
  424.       Choose "File", then "New", then "Project Workspace". Select
  425.       "Application" for "Type:" and your project name for "Name:". Choose
  426.       Win16 or Win32 for platform. Then select "Create".
  427.  
  428.       Select "Insert", then "Files into Project". Add all filenames as
  429.       listed in the ".PRJ" file corresponding to the project you are
  430.       building. Lastly, select "Rebuild All".
  431.  
  432.       2.5.3 Borland IDE
  433.  
  434.       Turn off LINKER case sensitivities: Choose "Options", "Projects",
  435.       "Linker", "General". Turn off the "case sensitive link" and "case
  436.       sensitive exports and imports" boxes.
  437.  
  438.       Next, choose "Project", then "New Project". Use the INS (Insert) key
  439.       to pop up a dialog box into which the project file names are entered.
  440.  
  441.       Select "GUI" for the "Target Model:" Only "Runtime" and "Dynamic"
  442.       should be checked for "Standard Libraries:"
  443.  
  444.       NOTE1: If, after linking in the IDE, you get unresolved external
  445.       references to the communications library functions in which each
  446.       function name is all upper case, then you have NOT turned off case
  447.       sensitivity as described above.
  448.  
  449.       NOTE2: If you get errors compiling the windows header file
  450.       "WINDOWS.H", turn on "Borland Extensions" in "Options", "Project",
  451.       "Compiler", "Source".
  452.  
  453.       2.5.4 Turbo C IDE
  454.  
  455.       Follow the same directions as above, except that the "Target Model:"
  456.       can be any listed.
  457.  
  458.       2.5.5 Borland C++ Builder
  459.  
  460.       Choose "File" / "Open Project" on the menu bar. Load BCB_PRJ.MAK.
  461.       Then, choose "Build All" from "Project" to create the executable.
  462.  
  463.       2.5.6 Watcom IDE
  464.  
  465.       Choose "File", then "New Project". Enter the project name and then
  466.       choose Win16 [Win32] as the target. Use the INS (Insert) key to pop
  467.       up a dialog box into which the project file names are entered.
  468.  
  469.       Select "Options" from the main window, then "C Compiler Switches",
  470.       then "10". Memory Models and Processor Switches". Check "80386 Stack
  471.       based calling [-3s]", then check "32-bit Flat model [-mf]".
  472.  
  473.  
  474.  
  475.  
  476.  
  477.  
  478.  
  479.  
  480.      SEE4C Users Manual                                        Page 8
  481.  
  482.       2.6 Compiling Example Programs
  483.  
  484.       There are makefiles provided for each of the example programs.
  485.       For example, to compile QUICK:
  486.  
  487.       For Microsoft C, type:
  488.  
  489.           NMAKE -f QUICK16._M_
  490.           NMAKE -f QUICK32._M_
  491.  
  492.       For Borland C, type:
  493.  
  494.           MAKE -f QUICK16._B_
  495.           MAKE -f QUICK32._B_
  496.  
  497.       For Watcom C, type:
  498.  
  499.           WMAKE -f QUICK16._W_
  500.           WMAKE -f QUICK32._W_
  501.  
  502.       Several example programs are coded for Win32 Console Mode, and
  503.       therefore can NOT be compiled under Win16.
  504.  
  505.       The QM_PRJ example program requires Borland C++ Builder. The MFC_PGM
  506.       example program requires Microsoft Foundations Classes (MFC).
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539.  
  540.      SEE4C Users Manual                                        Page 9
  541.  
  542.       3.0 Email Basics
  543.  
  544.       3.1 Your Email Account
  545.  
  546.       Your email account is hosted on a computer which has a permament
  547.       connection to the Internet. Email is sent to you over the Internet
  548.       using the SMTP (Simple Mail Transport Protocol) and is stored on disk
  549.       until you retrieve it using the POP (Post Office Protocol) or IMAP
  550.       (Internet Message Access Protocol) protocol.
  551.  
  552.       The SMTP Email Engine (SEE) is used to send email using the SMTP
  553.       protocol.
  554.  
  555.       3.2 Email Address Format
  556.  
  557.       Email addresses are always specified as "xxx<yyy@zzz>" where
  558.  
  559.          (1) xxx is the optional "real name".
  560.  
  561.          (2) yyy@zzz is the official email address,
  562.              where yyy is your account name, and
  563.              zzz is where your email account is hosted.
  564.  
  565.          (3) The brackets are required.
  566.  
  567.       For example, my email address can be specified by any of the
  568.       following:
  569.  
  570.          (1) <mike@marshallsoft.com>
  571.          (2) Mike<mike@marshallsoft.com>
  572.          (3) Mike Marshall <mike@marshallsoft.com>
  573.  
  574.       Multiple email addresses can be stringed together separated by
  575.       commas, as in:
  576.  
  577.          "<mike@myisp.com>,<pam@myisp.com>,<lauren@myisp.com>"
  578.  
  579.       See the example programs for many example of use.
  580.  
  581.       3.3 MIME Extensions
  582.  
  583.       Internet mail can only transport 7-bit ASCII characters. Multipurpose
  584.       Internet Mail Extensions (MIME) are used to allow the attachment of
  585.       binary data to an email message.
  586.  
  587.       Two MIME types supported by the SMTP Email Engine library are
  588.       "quoted-printable" and "base64" attachments.
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.      SEE4C Users Manual                                        Page 10
  601.  
  602.       3.3.1 Quoted-Printable Encoding
  603.  
  604.       Quoted-Printable encoding is primarily used to embed binary values
  605.       into a email message, typically for use with foreign alphabets.
  606.  
  607.       To enable Quoted-Printable encoding, call
  608.  
  609.           seeIntegerParam(SEE_QUOTED_PRINTABLE, 1);
  610.  
  611.       before calling seeSendEmail.
  612.  
  613.       To disable Quoted-Printable encoding, call
  614.  
  615.           seeIntegerParam(SEE_QUOTED_PRINTABLE, 0);
  616.  
  617.       The default is Quoted-Printable encoding off.
  618.  
  619.       3.3.2 Binary Attachments
  620.  
  621.       Binary attachments are encoded using MIME base-64. Most all email
  622.       clients (such as made by Eudora, Netscape, and Microsoft) can decode
  623.       MIME base-64 attachments.
  624.  
  625.       To attach a file to your email, you specify the filename as the last
  626.       argument of the seeSendEmail function. Refer to the reference manual
  627.       for more details.
  628.  
  629.       3.4 Your SMTP Host Name
  630.  
  631.       In order to send email, you must know the name (IP address) of your
  632.       SMTP server. All email client programs (Eudora, etc.) must have this
  633.       name in order to send email.
  634.  
  635.       Typically, your SMTP server name will be "mail.XXX.YYY" where XXX.YYY
  636.       is the name of the computer which hosts your email account. If you
  637.       aren't sure of your SMTP Host name, look in the setup of your email
  638.       client program or ask your system administrator.
  639.  
  640.       Before compiling any example programs, edit them with your SMTP Host
  641.       and your email address (for replies). Look in the source code (first
  642.       few lines) for:
  643.  
  644.          #define SMTP_HOST_NAME  "smtp_host_name"
  645.          #define YOUR_EMAIL_ADDR "your_email_address"
  646.  
  647.       Replace smtp_host_name with the name of your SMTP Host name, and
  648.       your_email_address with your email address.
  649.  
  650.  
  651.       For example, since our ISP is HIWAAY.NET, I would use:
  652.  
  653.          #define SMTP_HOST_NAME  "mail.hiwaay.net"
  654.          #define YOUR_EMAIL_ADDR "Mike Marshall <mike@marshallsoft.com>"
  655.  
  656.  
  657.  
  658.  
  659.  
  660.      SEE4C Users Manual                                        Page 11
  661.  
  662.       4.0 Versions of SEE
  663.  
  664.       The SMTP Email Engine (SEE) library is available in three versions.
  665.       All three versions have identical functionality.
  666.  
  667.       4.1 Shareware Version
  668.  
  669.       The shareware version can be differentiated from the other two
  670.       versions by:
  671.  
  672.       (1) The shareware reminder screen is displayed at startup.
  673.  
  674.       (2) The "X-Registered-To: " header in all outgoing email is branded with
  675.           "X-Registered-To: SHAREWARE VERSION [http://www.marshallsoft.com]"
  676.  
  677.       (3) All email if followed by the following two lines:
  678.           "______________________________________________________________"
  679.           "MarshallSoft SMTP Engine. Programmers see www.marshallsoft.com"
  680.  
  681.       The Shareware version may not be used for commercial purposes.
  682.  
  683.       4.2 Student Version
  684.  
  685.       The student version can be differentiated from the other two versions
  686.       by:
  687.  
  688.       (1) There is no shareware remainder screen.
  689.  
  690.       (2) The "X-Registered-To: " header in all outgoing email is branded with
  691.           "X-Registered-To: STUDENT VERSION [http://www.marshallsoft.com]"
  692.  
  693.       (3) There are no lines added to the end of the email as in the
  694.           shareware version.
  695.  
  696.       The Student version may not be used for commercial purposes.
  697.  
  698.       4.3 Professional Version
  699.  
  700.       The professional version can be differentiated from the other two versions
  701.       by:
  702.  
  703.       (1) There is no shareware remainder screen.
  704.  
  705.       (2) The "X-Registered-To: " header in all outgoing email is branded with
  706.           your company name.
  707.  
  708.       (3) There are no lines added to the end of the email as in the
  709.           shareware version.
  710.  
  711.       The professional version may be distributed with your application as
  712.       per the the software license.
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.      SEE4C Users Manual                                        Page 12
  721.  
  722.       5.0 Using SEE with Other Languages
  723.  
  724.       The SMTP Email Engine DLLs can be used with any application written
  725.       in ANY language capable of calling the Windows (3.1, 95/98, NT) API.
  726.       SEE16.DLL is required for all Win16 (Windows 3.1) applications, and
  727.       SEE32.DLL is required for all Win32 (Windows 95/98/NT) applications.
  728.  
  729.       Declaration files have been defined by the following languages:
  730.  
  731.                C/C++ : SEE.H
  732.         Visual Basic : SEE16.BAS & SEE32.BAS
  733.       EXCEL & ACCESS : SEE16.BAS & SEE32.BAS
  734.       Borland Delphi : SEE16.PAS & SEE32.PAS
  735.        Fujitsu COBOL : SEE32.CBI
  736.        Visual FoxPro : SEE32.FOX
  737.  
  738.       Additional declaration files will be added. Give us a call if you
  739.       need a declaration not listed above.
  740.  
  741.       If you have interfaced SEE to an unusual language, email us the
  742.       declaration file!
  743.  
  744.       6.0 Problems
  745.  
  746.       Before attempting to run any of the example programs, you should
  747.       already be able to connect to the Internet and run your email client
  748.       program, such as Eudora or Pegasus Mail.
  749.  
  750.       If you cannot get your application to run properly, first compile and
  751.       run the example programs. If you call us to report a possible bug in
  752.       the library, the first thing we will ask is if the example programs
  753.       run correctly.
  754.  
  755.       Be sure to test the code returned from SEE functions. Then, call
  756.       seeErrorText to get the text associated with the error code.
  757.  
  758.       For example:
  759.  
  760.       Code = seeConnectTo("mail.isp.net","<mike@marshallsoft.com>",NULL);
  761.       if(Code<0)
  762.         {static char Buffer[64];
  763.          seeErrorText(Code,Buffer,64);
  764.          printf("Error %d: %s\n", Code, Buffer);
  765.         }
  766.  
  767.       If you encounter a problem that you cannot resolve, give us a call.
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.      SEE4C Users Manual                                        Page 13
  781.  
  782.       7.0 Example Programs
  783.  
  784.       Before compiling any example programs, edit them with your SMTP
  785.       server name and your email address. Look in the source (first few
  786.       lines) for:
  787.  
  788.          #define SMTP_HOST_NAME  "smtp_host_name"
  789.          #define YOUR_EMAIL_ADDR "your_email_address"
  790.  
  791.       Replace smtp_host_name with the name of your SMTP server, and
  792.       your_email_address with your email address.
  793.  
  794.       We also have example programs written in other languages, including
  795.       Visual Basic, Delphi, ACCESS, EXCEL, FoxPro, and Fujitsu Cobol.
  796.  
  797.       7.1 MAILER
  798.  
  799.       MAILER is a Win32 console mode program that emails a message. This is
  800.       the first example program to edit, compile, and run.
  801.  
  802.       7.2 MULTI
  803.  
  804.       MULTI is a Win32 console mode program that emails multiple messages.
  805.       Several additional features are also demonstrated.
  806.  
  807.       7.3 DRIVER
  808.  
  809.       DRIVER is a Win32 console application that shows the use of the
  810.       seeDriver function. This is useful when sending very large messages
  811.       or attachments in that it allows the calling program to monitor the
  812.       progress of the session.
  813.  
  814.       7.4 QUICK
  815.  
  816.       QUICK is a Win16/Win32 GUI application that emails a message entered
  817.       into a dialog box.
  818.  
  819.       7.5 QM
  820.  
  821.       "Quick Message" (QM_PRJ & QM_PGM) is a Borland C++ Builder (Win32
  822.       GUI) program that emails a message from the GUI. Borland C++ Builder
  823.       is required to compile this program.
  824.  
  825.       7.6 MFC_PGM
  826.  
  827.       MFC_PGM is a Microsoft Foundation Class (MFC) example program. Win16
  828.       (MFCPGM16.MAK) and Win32 (MFCPGM32.MAK) makefiles are provided.
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.      SEE4C Users Manual                                        Page 14
  841.  
  842.       8.0 Legal Issues
  843.  
  844.       8.1 Registration
  845.  
  846.       The student version of SEE4C may be registered for $49 plus $7 S&H
  847.       ($12 outside of North America). The student registered DLLs may not
  848.       be distributed under any circumstances, nor may they be used for any
  849.       commercial purpose.
  850.  
  851.       The professional version of SEE4C may be registered for $95 plus $7
  852.       S&H ($12 outside of North America) . The professional registered DLLs
  853.       may be distributed (without royalty) in object form only, as part of
  854.       the user's application, provided that the application is NOT a
  855.       compiler, interpreter, or other software development program.
  856.  
  857.       The professional version DLL is also branded with your company name.
  858.  
  859.       To order, contact us as shown on the title page of this manual. All
  860.       prices are guaranteed for one year from the release date.
  861.  
  862.       Multiple copy discounts (3 or more) and site licenses are available.
  863.       Please call for details.
  864.  
  865.       We  accept American Express, VISA, MasterCard, Discover, checks in US
  866.       dollars drawn on  a  US  bank,  International  Postal  Money  Orders,
  867.       purchase orders (POs) from recognized US schools and companies listed
  868.       in  Dun  &  Bradstreet,  and  COD  (street  address  and phone number
  869.       required) within the USA (plus a $5 COD charge).
  870.  
  871.       For credit card orders, be sure to include the account number, the
  872.       expiration date, the exact name on the card, and the complete card
  873.       billing address (the address to which the credit card bill is
  874.       mailed).
  875.  
  876.       Print the file INVOICE.TXT if a "Pro Forma" invoice is needed.
  877.  
  878.       The registered package includes:
  879.  
  880.            o  Win16 & Win32 SEE4C Libraries w/o shareware screens.
  881.            o  Printed Users Manual & Reference Manual.
  882.            o  Telephone and email support for one year.
  883.  
  884.       The registered user will receive the latest version of SEE4C shipped
  885.       by US second day priority mail (packet airmail overseas).  A 3.5"
  886.       HD diskette is provided.
  887.  
  888.  
  889.  
  890.  
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898.  
  899.  
  900.      SEE4C Users Manual                                        Page 15
  901.  
  902.       8.2 License
  903.  
  904.       MarshallSoft Computing, Inc. grants the registered user of SEE4C the
  905.       right to use one copy of the SEE4C library (in object form) on a
  906.       single computer in the development of any software product (other
  907.       than libraries such as SEE4C). The user may not use the the library
  908.       on more than one computer at the same time.
  909.  
  910.       The "student" ($49) registered DLLs may not be distributed under any
  911.       circumstances, nor may they be used for any commercial purpose.
  912.  
  913.       The "professional" ($95) registered DLLs may be distributed (without
  914.       royalty) in object form only, as part of the user's application,
  915.       provided that the application is NOT a compiler, interpreter, or
  916.       other software development program.
  917.  
  918.       8.3 Warranty
  919.  
  920.       MARSHALLSOFT COMPUTING, INC.  DISCLAIMS ALL WARRANTIES RELATING TO
  921.       THIS SOFTWARE, WHETHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT
  922.       LIMITED TO ANY IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  923.       A PARTICULAR PURPOSE, AND ALL SUCH WARRANTIES ARE EXPRESSLY AND
  924.       SPECIFICALLY DISCLAIMED. NEITHER MARSHALLSOFT COMPUTING, INC.  NOR
  925.       ANYONE ELSE WHO HAS BEEN INVOLVED IN THE CREATION, PRODUCTION, OR
  926.       DELIVERY OF THIS SOFTWARE SHALL BE LIABLE FOR ANY INDIRECT,
  927.       CONSEQUENTIAL, OR INCIDENTAL DAMAGES ARISING OUT OF THE USE OR
  928.       INABILITY TO USE SUCH SOFTWARE EVEN IF MARSHALLSOFT COMPUTING, INC.
  929.       HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES OR CLAIMS. IN NO
  930.       EVENT SHALL MARSHALLSOFT COMPUTING, INC.'S LIABILITY FOR ANY SUCH
  931.       DAMAGES EVER EXCEED THE PRICE PAID FOR THE LICENSE TO USE THE
  932.       SOFTWARE, REGARDLESS OF THE FORM OF THE CLAIM. THE PERSON USING THE
  933.       SOFTWARE BEARS ALL RISK AS TO THE QUALITY AND PERFORMANCE OF THE
  934.       SOFTWARE.
  935.  
  936.       Some states do not allow the exclusion of the limit of liability for
  937.       consequential or incidental damages, so the above limitation may not
  938.       apply to you.
  939.  
  940.       This agreement shall be governed by the laws of the State of Alabama
  941.       and shall inure to the benefit of MarshallSoft Computing, Inc.  and
  942.       any successors, administrators, heirs and assigns.  Any action or
  943.       proceeding brought by either party against the other arising out of
  944.       or related to this agreement shall be brought only in a STATE or
  945.       FEDERAL COURT of competent jurisdiction located in Madison County,
  946.       Alabama. The parties hereby consent to in personam jurisdiction of
  947.       said courts.
  948.  
  949.  
  950.  
  951.  
  952.  
  953.  
  954.  
  955.  
  956.  
  957.  
  958.  
  959.  
  960.      SEE4C Users Manual                                        Page 16
  961.  
  962.       9.0 Summary
  963.  
  964.       9.1 Revision History
  965.  
  966.  
  967.       Version 1.0 "Beta": May 23, 1998.
  968.  
  969.           o  The Beta release.
  970.  
  971.       Version 1.0: June 1, 1998.
  972.  
  973.           o  The official release of version 1.0.
  974.  
  975.       9.2 SEE4C Function Summary
  976.  
  977.       Refer to the SEE4C Reference Manual (SEE4C_R.TXT) for detailed
  978.       information on the communications and support functions.  A one line
  979.       summary of each function follows on the next page.
  980.  
  981.       There are 10 functions in the SEE library.
  982.  
  983.       +-------------------+-----------------------------------------------+
  984.       |         seeClose  |  Closes SMTP Email Engine.                    |
  985.       |     seeConnectTo  |  Connects to SMTP server.                     |
  986.       |         seeDebug  |  Returns debug information.                   |
  987.       |       seeDriver   |  Executes next SEE state.                     |
  988.       |     seeErrorText  |  Get text associated with error code.         |
  989.       |  seeIntegerParam  |  Sets SEE integer parameter.                  |
  990.       |     seeSendEmail  |  Sends email and attachments.                 |
  991.       |    seeStatistics  |  Returns runtime statistics.                  |
  992.       |   seeStringParam  |  Sets SEE string parameter.                   |
  993.       | seeVerifyFormat   |  Check email address.                         |
  994.       +-------------------+-----------------------------------------------+
  995.  
  996.  
  997.  
  998.  
  999.  
  1000.  
  1001.  
  1002.  
  1003.  
  1004.  
  1005.  
  1006.  
  1007.  
  1008.  
  1009.  
  1010.  
  1011.  
  1012.  
  1013.  
  1014.  
  1015.  
  1016.  
  1017.  
  1018.  
  1019.  
  1020.      SEE4C Users Manual                                        Page 17
  1021.  
  1022.       9.3 SEE Error Return Code List
  1023.  
  1024.  
  1025.       The complete list of SEE error codes follows.
  1026.  
  1027.  
  1028.       +-----------------------+-----------------------------------------+
  1029.       | SEE_NO_ERROR          | No error.                               |
  1030.       | SEE_CANNOT_COMPLY     | Cannot comply. Not always an error.     |
  1031.       +-----------------------+-----------------------------------------+
  1032.       | SEE_EOF               | End of file (socket has been closed).   |
  1033.       | SEE_IS_BLOCKING       | Socket is currently blocking.           |
  1034.       | SEE_BAD_DOTTED        | Bad dotted address.                     |
  1035.       | SEE_TIMED_OUT         | Socket timed out awaiting data.         |
  1036.       | SEE_ABORTED           | The DLL has been corrupted.             |
  1037.       | SEE_ALREADY_CONNECTED | Already connected to server.            |
  1038.       | SEE_BACK_OVERFLOW     | Response buffer has overflowed.         |
  1039.       | SEE_BAD_ADDRESS_CHAR  | Bad character in email address.         |
  1040.       | SEE_CANNOT_ATTACH     | Cannot access WINSOCK                   |
  1041.       | SEE_CANNOT_OPEN       | Cannot open file.                       |
  1042.       | SEE_CONNECT_ERROR     | Error attempting to connect.            |
  1043.       | SEE_EMPTY_ADDRESS     | EMPTY email address.                    |
  1044.       | SEE_FROM_NULL_ARG     | FromPtr is NULL.                        |
  1045.       | SEE_MISSING_AT_CHAR   | Missing '@' character in email address. |
  1046.       | SEE_MISSING_FROM      | Missing FROM email address.             |
  1047.       | SEE_MISSING_LEFT      | Missing '<' delimiter in email address. |
  1048.       | SEE_MISSING_RIGHT     | Missing '>' terminating email address.  |
  1049.       | SEE_NOT_CONNECTED     | Not connected to server                 |
  1050.       | SEE_NO_RECEIPIENTS    | Must have at least one receipient.      |
  1051.       | SEE_NO_SERVER         | Cannot find Smtp server.                |
  1052.       | SEE_NULL_POINTER      | Unexpected NULL pointer.                |
  1053.       | SEE_RCPT_NULL_ARG     | ToPtr is NULL.                          |
  1054.       | SEE_SMTP_ERROR        | SMTP returned error.                    |
  1055.       | SEE_SMTP_NULL_ARG     | SMTP Server not specified.              |
  1056.       | SEE_SOCK_READ_ERROR   | Socket read error.                      |
  1057.       | SEE_SOCK_WRITE_ERROR  | Socket write error.                     |
  1058.       | SEE_TOO_MANY_AT_CHARS | Too many '@' symbols in email address.  |
  1059.       +-----------------------+-----------------------------------------+
  1060.  
  1061.       NOTES:
  1062.  
  1063.       (1) All error codes are negative.
  1064.       (2) Numerical error codes are defined in DEFINES.H.
  1065.       (3) SEE_ABORTED will be returned if the DLL has been modified. You
  1066.           should never get this message!
  1067.  
  1068.  
  1069.  
  1070.  
  1071.  
  1072.  
  1073.  
  1074.  
  1075.  
  1076.  
  1077.  
  1078.  
  1079.  
  1080.      SEE4C Users Manual                                        Page 18
  1081.  
  1082.       10.0 Other MarshallSoft Computing Products
  1083.  
  1084.       Several shareware products are available from MarshallSoft Computing.
  1085.  
  1086.       10.1 The Winsock Interface Library for C/C++
  1087.  
  1088.       The Winsock Interface Library for C/C++ is a winsock interface
  1089.       library which simplifies winsock network communications programming
  1090.       and provides support for the most common Internet protocols such as
  1091.       TELNET, Finger, SMTP, POP3, FTP, NNTP, and HTTP. Requires windows C
  1092.       compiler.
  1093.  
  1094.       The Winsock Interface Library for C/C+ (WIL4C) is available for $85
  1095.       plus $7 S&H ($12 S&H overseas).
  1096.  
  1097.       10.2 The Windows Standard Communications Library for C/C++
  1098.  
  1099.       The Windows Standard Communications Library for C/C++ (WSC4C) is a
  1100.       Windows based asynchronous serial communications library designed for
  1101.       software developers programming in C/C++. WSC4C uses the Windows
  1102.       communications driver. Both 16-bit amd 32-bit DLLs are included along
  1103.       with 5 example programs.
  1104.  
  1105.       The Windows Standard Communications Library for C/C++ (WSC4C) is
  1106.       available for $85 plus $7 S&H ($12 S&H overseas).
  1107.  
  1108.       10.3 Libraries for Other Languages
  1109.  
  1110.       We have communications libraries for C/C++, Turbo Pascal, Visual
  1111.       Basic, and PowerBASIC. Check our WEB site.
  1112.  
  1113.        SEE4VB : SMTP Email Engine for Visual Basic [June 1998].
  1114.         SEE4D : SMTP Email Engine for Delphi [June 1998].
  1115.        SEECOB : SMTP Email Engine for COBOL [June 1998].
  1116.  
  1117.         PCL4C : C/C++, DOS [include 16-bit & 32-bit protected mode].
  1118.         PCL4P : Turbo Pascal, DOS [includes 16-bit protected mode].
  1119.        PCL4VB : Visual Basic, DOS.
  1120.        PCL4PB : Power Basic, DOS.
  1121.  
  1122.         PCL4W : C/C++, Windows 3.1 & Win 95, talks to hardware directly.
  1123.        PCLVBW : Visual Basic, Win 3.1 & Win 95, talks to hardware directly.
  1124.  
  1125.         WSC4C : C/C++, Win 3.1, Win 95, Win NT. Uses Windows API.
  1126.        WSC4VB : Visual Basic, Win 3.1, Win 95, Win NT. Uses Windows API.
  1127.         WSC4D : Borland DELPHI, Win 3.1, Win 95, Win NT. Uses Windows API.
  1128.  
  1129.  
  1130.  
  1131.  
  1132.  
  1133.  
  1134.  
  1135.  
  1136.  
  1137.  
  1138.  
  1139.  
  1140.      SEE4C Users Manual                                        Page 19
  1141.  
  1142.  
  1143.