|  |  | 
      
      
      
      
 
 
 
    
        About ASPMail 2.0ASPMail allows you to send mail
        using the standard SMTP protocol from any program that
        can use ActiveX/OLE components. Features include: 
            SMTP (sending) Messages Multiple File Attachments File attachments support MIME
                and UUEncoding US Ascii and ISO-8859-1
                character sets PGP Redundant SMTP servers (If the
                primary SMTP server is down, the secondary server
                is used)Special Header Support
                (Standard X-Priority headers, MS Mail (including
                Exchange) priority headers, Urgent header,
                ConfirmReading and ReturnReceipt Headers)Multiple concurrent users
                (Tested with 15 concurrent connections) Changes in ASPMail 2.0ASPMail 2.0 builds on the
        functionality of ASPMail 1.0 by replacing the SMTP
        "plumbing" with an improved implementation,
        replaces a number of properties with methods to clarify
        email addressing, provides a complete type library and
        provides dual interface support. In addition to the
        changes: 1.) The RemoteHostB property was
        removed and combined with the RemoteHost property.
        ASPMail can now try up to three SMTP servers in
        attempting to send an email. Seperate the different SMTP
        server addresses with a semicolon. 2) The Recipient, CC, and BCC
        properties have been replaced with AddRecipient, AddCC
        and AddBCC methods. This new scheme provides for better
        addressing. There are also 4 new methods: ClearRecipients
        [To:], ClearCCs [CC:], ClearBCCs [BCC:] and
        ClearAllRecipients which allow you to empty the recipient
        lists once addresses have been added. Please note that
        under AspMail 1.x recipient was a property but the
        AddRecipient family are methods. See the following docs
        for the proper calling convention. 3) The DNSLookup method was
        removed. ASPMail InstallationTo use this ASP component move the
        DLL into a subdirectory (like \winnt\system32 for NT or
        \windows\system for Win95). Please use the version of
        regsvr32 that is included with this component or the
        version that comes with Microsoft ASP (they are the same
        version). To register the component on the
        system change to the directory where you installed the
        DLL and type: regsvr32 smtpsvg.dll You may need to modify this example
        based on the directory you have installed the component
        to. You should finish installation by
        running the MarkSMTP utility included with this package.
        This utility will mark the component as apartment model
        in the system registry. Simple Mail ExampleUsing the component is as simple as 
            Creating the objectSetting a few propertiesCalling the SendMail method The following code demonstrates how
        to use ASPMail from VBScript. In this example Joe from
        Joes Widgets wishes to send an email to John Smith
        at Tools Corp. Joes mail server is located at
        mailhost.localisp.net. 
Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
Mailer.FromName   = "Joes Widgets Corp."
Mailer.FromAddress= "Joe@Widgets.com"
Mailer.RemoteHost = "mail.localweb.com"
Mailer.AddRecipient "Steve Genusa", "steve@genusa.com"
Mailer.Subject    = "Great SMTP Product!"
Mailer.BodyText   = "Dear Stephen" & Chr(13) & Chr(10) & _
                     "Your widgets order has been processed!"
if Mailer.SendMail then
  Response.Write "Mail sent..."
else
  Response.Write "Mail send failure. "
end if
By testing the result of the
        SendMail method we can determine if the mailing process
        was successful or not.  Form HandlingAll or partial input for a message
        may come from a form. For example, a form posted to the
        server with a request method of GET (i.e. <form
        action="/scripts/aspmail.asp" method=get>)
        may provide the message recipients email address,
        subject and message text as follows: 
Mailer.AddRecipient Request.QueryString("ToName"), Request.QueryString("ToAddress")
Mailer.Subject   =  Request.QueryString("Subject")
Mailer.BodyText  = Request.QueryString("MsgBody")
The form may also use the POST
        method (i.e. <form
        action="/scripts/aspmail.asp" method=post>)
        in which case the code would look as follows: 
Mailer.AddRecipient Request.Form("ToName"), Request.Form("ToAddress")
Mailer.Subject   =  Request.Form ("Subject")
Mailer.BodyText  = Request.Form ("MsgBody")
You can use any mixture of static
        and dynamic data in setting the components properties as
        dictated by your needs. For example, you may wish to send
        the mail to a single user. In this case you could modify
        the code to look something like this: 
Mailer.AddRecipient "Stephen Genusa", "steve@genusa.com"
Mailer.Subject   =  Request.QueryString("Subject")
Mailer.BodyText  = Request.QueryString("MsgBody")
Generic Form HandlingIn some cases users may wish to use
        a number of different forms to send email with the same
        block of code. ASP allows you to loop through each
        QueryString or Form variable and append each one to
        string variable which is then assigned to the BodyText
        property. 
strMsgHeader = "Form information follows" & vbCrLf
for each qryItem in Request.QueryString
   strMsgInfo = strMsgInfo &  qryItem & " - " & request.querystring(qryItem) & vbCrLf
next
strMsgFooter = vbCrLf & "End of form information"
Mailer.BodyText = strMsgHeader & strMsgInfo & strMsgFooter
 Setting Mail PriorityThere are a couple of headers that
        can be modified to set message priority. The Priority property sets
        the message priority on a scale of 1 to 5. A priority of
        1 means HIGH. A priority of 3 means NORMAL and a priority
        of 5 means LOW. In addition to this you can also set the Urgent
        property if the message status is urgent. The Urgent property
        is a true/false property. Notes About Creating the Mailer
        ObjectYou can create the mailer object at
        two different points in time: 
            |  | Immediately before sending an
                email |  |  | At the session scope and saved as a session object |  You will have to decide when and
        where it is appropriate to create the object based on
        your particular application. If you aren't sure which way
        to create the object reference, or for typical usage, you
        should create the object immediately before sending your
        email. Your code would look like this: Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
... [Set properties]
if Mailer.SendMail then ...Creating these local references, as
        demonstrated above, allow you to use the object on
        multiple application threads at the same time. If you wish to create and reuse the
        object at the session scope you must
        insure that only one user is using the 
        session object reference using some queing mechanism.
        To create an object
        reference at the session level, your code might look
        something like this: if Not IsObject (session("Mailer")) then
  Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
  Set session("Mailer") = Mailer
else
  Response.write "Cached session object reference being used<p>"
  Set Mailer = session("Mailer")
end ifMultiple Host SupportASPMail provides one host property
        to set up remote SMTP server addresses. The RemoteHost
        property should be set to your primary and secondary
        servers address seperated by semicolons. In the
        event that the primary server is down, ASPMail
        will attempt to use the secondary server. For example,  Mailer.RemoteHost = "mail.localweb.com;mailhost.anotherisp.com" PGP SupportAspMail now supports PGP. See the
        pgpmail.asp script for an example of usage. About purchasing ASPMail
            The registration license fee
                covers only one CPU per license. The fee per
                CPU is $49.95. We have priced the component
                at a level where we hope that companies or
                individuals using multiple copies will respect
                the license agreement. Attachments are enabled in the
                registered version but not in eval copies.An X-Header has been added
                (that is normally not displayed by most email
                programs) showing who the component is registered
                to. When you register make sure that the name you
                want displayed is included in your registration
                information. Normally this will be a company
                name. Changes will NOT be made once the product
                has been shipped to users who register. About Upgrades
            Who can upgrade?Users can upgrade for free for
                minor version changes. For example, upgrades from
                version 1.00 to 1.99 are free. The upgrade from
                1.99 to 2.0 may carry an additional
                license fee.How to get upgradesThe latest version of the
                components are always available at
                http://www.genusa.com/asp/aspcomp.html. If a fee
                is associated with obtaining the upgrade it will
                be noted on that page.How to install 
            |  | 
                    |  | Stop all IIS related
                        services such as Gopher, FTP and W3SVC.
                        Uninstalling the old DLL is not
                        necessary. If the DLL has been loaded you
                        will get an error message saying the file
                        is in use by another process. Stop that
                        process and then copy the file. Restart
                        the necessary services. |  |  Upgrade InstructionsTo upgrade the component from a
        previous version please follow these steps: 
            Change to the directory where
                the component is located and type "regsvr32
                /u smtpsvg.dll"Move the new copy of
                smtpsvg.dll to the current directory and type
                "regsvr32 smtpsvg.dll"If you were using AspMail 1.x,
                be sure and modify any code that uses the
                Recipient, CC and BCC properties to use the new
                methods. Common ProblemsServer object error 80040154.This is the most common error reported. The error means
        that ASP could not create the object. Causes include:
 
            You never ran regsvr32 on the
                DLL. See installation section of this document.You registered the DLL with
                regsvr32 in one subdirectory and moved it to
                another.IIS does not have proper
                security permissions to access the DLL or the
                directory you installed it to. See the ASP FAQ
                (http://www.signmeup.com/faq/) for information on
                changing security.Your server may be running low
                on memory. Note: Some users have reported that
        restarting the server after registering the DLL was
        required to use the component. This should not be
        necessary but reportedly works in a few cases. How do I get Exchange to route
        Internet email to the Net?Well, basically you have to configure Exchange (5.0) to
        support POP3. It is not installed that way by default
        (not with the release candidate at least!). The problem
        is that when you email from outside the Exchange client,
        the server goes looking at the global address list and if
        the address you're emailing to is not there, you'll get
        an error. With POP3 support enabled, you can configure
        Exchange to route unknown addresses to other servers and
        that solves the problem. (Thanks to Fernando Santos for
        this info!)
 The message text keeps growing
        with each email I send.Use the ClearBodyText method if you are
        reassigning the message text for multiple emails.
 Technical SupportIf you require technical support
        please send complete details about the problem you are
        having. Include the version of AspMail you are using,
        sample code snippets that demonstrate the problem (most
        problems are scripting errors), information about the
        hosting environment etc. For example, if you are using
        ASP to host the component please let me know what version
        of IIS and ASP you are running (and have you installed
        any of the HotFixes). The more information you can
        provide in your request for help, the faster your
        problems can be resolved. ASPMail Properties
            
                | BodyText | The
                message body text. To optionally clear the text
                once you have set it use the ClearBodyText
                Method. Example: Mailer.BodyText =
                "Your order for 15 widgets has been
                processed" |  
                | CharSet | The
                character set. By default the char set is US
                Ascii Valid values: 
                    |  | 
                            |  | 1 = US Ascii 2 = ISO-8859-1 |  |  Example:
 Mailer.CharSet = 2 |  
                | ConfirmRead | The
                ConfirmReading flag. If this is set to true AND
                the recipients email program supports this feature (and it is enabled) the
                recipients email program will send a notice back
                to the FromAddress confirming that this email has
                been read. Example: Mailer.ConfirmRead = true |  
                | ContentType | The ContentType property
                allows you to set the ContentType header of the
                message's BodyText. If, for example, you wanted
                to send HTML as the messages's body, you could
                set ContentType = "text/html" and EMail
                programs that support HTML content could properly
                display the HTML text. Note: The ContentType property is
                ignored if you have file attachments. Example: Mailer.ContentType =
                "text/html" |  
                | DateTime | AspMail will, by default,
                create a Date/Time header for your local system
                using GMT. If you would like to override the
                date/time calculation set the DateTime property
                to a valid date/time string in the format defined
                by RFC 822 & RFC 1123. Example: Mailer.DateTime =
                "Fri, 02 May 1997 10:53:49 -0500" |  
                | Encoding | The
                encoding type for attachments. The default
                setting is MIME. Valid
                values: 
                    |  | 1 = UUEncoded 2 = MIME |  Example: Mailer.Encoding = 1 |  
                | Expires | If
                the component is an eval version the expires
                property will return the date that the component
                quits functioning. Example: Response.Write
                "Component Expires: " &
                Mailer.Expires |  
                | FromName | The
                message originators name. Example: Mailer.FromName =
                "Joes Widget Shop" |  
                | FromAddress | The
                message originators email address. Example: Mailer.FromAddress =
                "joe@widgets.com" |  
                | PGPPath | The
                path where PGP is located. |  
                | PGPParams | Parameters
                that PGP will use to process message. |  
                | Priority | Sets
                the message priority. Priorities are 1-5 and are
                reflected in the X-Priority Valid values: 
                    |  | 
                            |  | 1  High 3  Normal 5 
                                Low |  |  Example: Mailer.Priority = 1 |  
                | RemoteHost | The
                remote SMTP host that the message will be sent
                through. This is typically an SMTP server located
                at your local ISP or it could be an internal SMTP
                server on your companies premises. Up to 3 server
                addresses can be specified, seperated by a
                semicolon. If the primary server is down the
                component will attempt to send the mail using the
                seconary server and so on. Example: Mailer.RemoteHost =
                "mail.localweb.com" or Mailer.RemoteHost =
                "mail.localweb.com;
                mailhost.myotherisp.net" |  
                | ReplyTo | The ReplyTo property
                allows you to specify a different email address
                that replies should be sent to. By default mail
                programs should use the Reply-To: header for
                responses if this header is specified. |  
                | Response | The Response property
                returns any error messages that may occur. |  
                | ReturnReceipt | The
                ReturnReceipt flag. If this is set to true AND
                the recipients SMTP server supports this feature (and it is enabled) the
                recipients SMTP server will send a notice back to
                the FromAddress confirming that this email has
                been delivered. Example: Mailer.ReturnReceipt =
                false |  
                | SMTPLog | If
                you need to debug the session give a log file
                name here. Make sure the IUSR_XYZ IIS user has
                security that allows the component to write to
                this file. Warning: Do not use this setting in
                situations where multiple users can access this
                component at the same time. This is for single
                user debugging ONLY! Example: Mailer.SMTPLog =
                "c:\smtplog.txt" |  
                | Subject | The
                message subject. Example: Mailer.Subject =
                "Stock split announced!" |  
                | TimeOut | Timeout
                is the maximum time that ASPMail should wait for
                a response from the remote server. The default is
                30 seconds. Example: Mailer.Timeout = 15 |  
                | Urgent | The
                urgent flag sets the X-Urgent header in the
                outgoing message. Not all mail readers support
                this flag. Example: Mailer.Urgent = true |  
                | UseMSMailHeaders | MS-Mail
                priority headers, by default, are sent in
                addition to the standard SMTP priority headers.
                You can turn MS-Mail headers off with this
                property Example: Mailer.UseMSMailHeaders =
                false |  
                | Version | Gets the internal
                component version number. Example: Response.Write
                "Component Version: " &
                Mailer.Version |  
                | WordWrap | The WordWrap property is
                off by default. Setting WordWrap to true causes
                the message body to wordwrap at the position
                specified by the WordWrapLen property. |  
                | WordWrapLen | The WordWrapLen property
                is set to 70 by default. You can modify the
                position that wordwrap occurs by changing this
                value. |  ASPMail Component Methods
            
                | Method | Parameters | Return
                Value | Description |  
                | SendMail | None | True
                or False Example: if Mailer.SendMail then Response.Write "Mail
                sent..." else Response.Write "Mail
                failure. Check mail host server name and tcp/ip
                connection..." end if | The
                SendMail method attempts to send the email. |  
                | AddRecipient | Mailer.AddRecipient
                "Steve Genusa",
                "steve@genusa.com" | True/False
                based upon success or failure. | Adds
                a new recipient, as shown in the message's To:
                list. |  
                | ClearRecipients | None | None | Clears any recipients
                assigned to the To list. |  
                | AddCC | Mailer.AddCC "Steve
                Genusa", "steve@genusa.com" | True/False based upon
                success or failure. | Adds a new recipient, as
                shown in the message's CC list. |  
                | ClearCCs | None | None | Clears any recipients
                assigned to the CC list. |  
                | AddBCC | Mailer.AddBCC "Steve
                Genusa", "steve@genusa.com" | True/False based upon
                success or failure. | Adds a new Blind Carbon
                Copy recipient. BCC recipients are not
                shown in any message recipient list. |  
                | ClearBCCs | None | None | Clears any recipients
                assigned to the BCC list. |  
                | ClearAllRecipients | None | None | Clears all
                recipients assigned to the To, CC
                and BCC lists. |  
                | AddAttachment | Filename
                to attach to message. Example: Mailer.AddAttachment
                "p:\shipping\proddsk1.zip" | True
                or False | Adds
                attachments to current mailing. Make sure that the IUSR_XYZ IIS
                user, or the authenticated user has security
                rights that allow the component to read the
                necessary files! Note: Attachments are not
                supported in the eval version |  
                | ClearAttachments | None | None | Clears any attachments
                that were previously set. Example: Mailer.ClearAttachments |  
                | ClearBodyText | None | None | Clears
                any text assigned to the messages body
                which may have been set previously by using the BodyText
                property. |  
                | ClearExtraHeaders | None | None | Clears any
                X-Headers that were set by use of AddExtraHeader. |  
                | AddExtraHeader | A string
                value that forms a proper SMTP X-Header Example: Mailer.AddExtraHeader("X-HeaderName: XHdrValue")
 | True or
                false. Returns true if X-Header was added. | Adds extra
                X-Headers to the mail envelope. |  
                | GetBodyTextFromFile | See
                pgpmail.asp for more information. | See
                pgpmail.asp for more information. | Loads
                message's body text from a file. Optionally runs
                PGP on the message text. See pgpmail.asp for more
                information. |    Copyright © 1996, 1997 by Stephen Genusa. All Rights Reserved. |