ABMailer

The ActiveX Mailman - Version 2.0.5
by Andy Blanchard


Contents


What Is ABMailer?

ABMailer is an ActiveX (OLE) Server which delivers email messages to any SMTP mail server. ABMailer was designed to be used with Microsoft's Active Server Page (ASP) server-side scripting language, but it could just as easily be used by any other 32-bit development environment capable of communicating with in-process OLE servers.

Some of ABMailer's features include:


Is ABMailer 2.0 Freeware?

I had originally written ABMailer 1.0 for my own use, so I didn't take into consideration any other requirements. Since the release of version 1.0, e-mail response has been overwhelming and positive. ABMailer's success has grown far larger than I ever anticipated.

Single-Computer Registration Cost: $25 (USD)
See order.txt for a more comprehensive listing.


Requirements

NOTE: These requirements are based on the included Sample Project, which uses ABMailer in a webserver setting. ABMailer is not bound to Microsoft's webserver technology nor to ASP. It can be used with any language capable of utilizing in-process OLE or ActiveX servers (i.e., you can easily use ABMailer with C++, Delphi, VB, and other similarly extensible development environments).


Properties

Name Type Description
FromAddress String Email address of sender.
FromName String Clear-text name of sender.
ReplyTo String Email address you wish replies to be sent to.
MailDate String Date/Time stamp to place in mail message header.
Note: It is recommended that you leave this property empty to use web-server's date & time. This also guarantees the date/time is correctly formatted using the internet standard date/time format.
SendTo String Email address of primary recipient(s). To specify multiple primary recipients, separate each recipient's email address with a semi-colon ( ; ).
SendCc String Email address of CC recipient(s). To specify multiple CC recipients, separate each recipient's email address with a semi-colon ( ; ).
SendBcc String Email address of BCC recipient(s). To specify multiple BCC recipients, separate each recipient's email address with a semi-colon ( ; ).
MessageType String The format-type your mail-message should be sent using (HTML or Plain).
MailSubject String Subject line of mail message.
MailMessage String Text to be placed within the mail message's body. Separate each line with a CRLF ( Chr(13) + Chr(10) ). If "MessageType" has been set to "1" (HTML), you can embed HTML tags and references in the message body. Email clients will display your message as a standard HTML page.
AttachmentFiles String Filename of the file(s) you wish to attach to the email message. To specify multiple attachement files, separate each recipient's email address with a semi-colon ( ; ).
ServerAddr String Address of SMTP mail server. This address may be in either host-name or IP (dotted) format. For example, both of the following addresses are valid (mail.myserver.com or 122.100.5.15).
ServerPort Integer Port number on which your SMTP mail server is listening. The default port for SMTP mail servers is 25, but if your SMTP server has been configured to listen to a different port, you may set it here.
ServerLoginUserID String If you SMTP server requires connections to be authenticated, use this property to supply a valid UserID to your SMTP server.
ErrorCode Byte Error status of the last SendMail operation. See Error Codes for details.
ErrorMsg String Error message of the last SendMail operation. See Error Codes for details.
IsRegisteredVersion Boolean Specifies whether the copy of ABMailer is licensed/registered.
Note: Sending mail using an unregistered version will append an "unregistered" message to the mail-header.
XPriority Byte Sets the mail priority of the message. See X-Priorities for details.
SuppressXHeaders Boolean Specifies whether ABMailer should prevent X-headers from being sent. (default is false).
Organization String Organization/company of the sender.

Methods

Name Description
Clear Clears all properties and mail-headers in preparation for a new message. Clear should be called before each new message's properties are set.
SendMail Sends the mail message and sets the ErrorCode and ErrorMsg properties to the appropriate values.

X-Priorities

Name Value Description
xpLowest 0 Lowest priority message
xpLow 1 Low priority message
xpMedium 2 Medium (normal) priority message
xpHigh 3 High priority message
xpHighest 4 Highest priority message

Error Codes

Name Value Description
mmeNone 0 Mail delivered successfully to SMTP server.

Note: this does not mean that the mail has been delivered to the recipients, only that the mail has been handed-off to the SMTP server for processing & transfer to the recipients. If a mail-message fails to be delivered to a recipient, most mail-servers attempt to send a "failed message notification" back to the "sender's" address - check your SMTP server's documentation.
mmeUndefined 1 Undefined (internal) error, out-of-memory, etc...
mmeWinsock 2 Network, TCP/IP, or general socket error
mmeReplyTo 3 Error in "ReplyTo" line. For version 2.0 no longer used (see mmeRecipient).
mmeSendTo 4 Error in "SendTo" line. For version 2.0 no longer used (see mmeRecipient).
mmeSendCc 5 Error in "SendCc" line. For version 2.0 no longer used (see mmeRecipient).
mmeServerAddr 6 Error in "ServerAddr" line, Server not found, etc...
mmeServerPort 7 Invalid Server Port ID (default SMTP is 25)
mmeAttachment 8 Could not find one of the attachments. Refer to "ErrorMsg".
mmeAuthentication 9 Error authenticating with SMTP server.
mmeRecipient 10 Could not find one of the recipients. Refer to "ErrorMsg".
mmeEvaluationExpired 11 Evaluation copy of ABMailer has expired. Please register your copy of ABMailer.

Example Of Using ABMailer

This is an example of using ABMailer's Mailman object with Active Server Pages (Server-Side VBScript).



'-- Allocate Variables
Dim objMail
Dim sMessageText

'-- Set Error Trapping
On Error Resume Next

'-- Create the Mailman Object
Set objMail = Server.CreateObject("ABMailer.Mailman")

'-- Set the Mail Properties
objMail.Clear
objMail.MailDate = ""
objMail.MailSubject = "My Subject Line"
objMail.FromAddress = "my_address@server.domain.com"
objMail.FromName = "Howdy D. Doody"
objMail.Organization = "Howdy, Inc."
objMail.ReplyTo = "my_address@server.domain.com"
objMail.SendTo = "an_address@another.server.com"
objMail.SendCc = "first_cc@some.server.com;second_cc@some.other.server.com"
objMail.SendBcc = "first_bcc@somewhere.com;second_bcc@somewhereelse.com"
objMail.ServerAddr = "smtp.server.address"
objMail.ServerPort = 25
objMail.ServerLoginUserID = "myname"
objMail.AttachmentFiles = "c:\temp\hello.txt;c:\work\demo.doc"
objMail.XPriority = xpHigh '-- defined in "abmailer.inc"
objMail.SuppressXHeaders = False
objMail.MessageType = mtPlain '-- defined in "abmailer.inc"

'-- Set Message Body
sMessageText = "This is where you put the message body." & vbCrLf
sMessageText = sMessageText & "Each line is separated with a CR + LF. "
sMessageText = sMessageText & "VBScript already has the constant 'vbCrLf' defined."
objMail.MailMessage = sMessageText

'-- Fire off the email message
objMail.SendMail

'-- check return value's error-code (mmeNone = Success)
If objMail.ErrorCode = mmeNone Then
Response.Write("Mail message was delivered to SMTP server")
Else
Response.Write("Mail message was not delivered to SMTP server")
Response.Write("The Error Code was: " & CStr(objMail.ErrorCode) & "
")
Response.Write("The Error Message was: " & objMail.ErrorMsg)
End If

'-- Destroy the Object
Set objMail = Nothing

For a full, working sample for processing a HTML form into an email message, see the provided sample.htm after installing ABMailer.


Setting Up and Running The Example

Virtual Directory

For ASP scripts to run, they must be located in a virtual directory where permissions have been correctly assigned to run scripts. If you are using Microsoft's IIS or PWS products, you can set virtual directories using the Server Adminstrator, provided with your server.

You can setup the examples using any of the following methods:

Important Notes


Download and Register ABMailer 2.0

Download
File: abmailer.zip
Size: 910 KB
Click here to download


Register
Read the ABMailer order form: order.txt
Click here to register ABMailer online


Version History

1.0.1 (Freeware)

2.0.1

2.0.2

2.0.4

2.0.5


Share & Enjoy,
Andy Blanchard

ABMailer is copyrighted © 1997-2000, by Andy Blanchard. All Rights Reserved.
February 2000