can Information Technology
 
 
can Information Technology
   
  CAN IT Web Hosting Help and Support
  Getting Started | Email Setup | Billing Procedures | Updating Databses | Control Panel
   
  CDONTS
   
 

How to setup your web pages to send mail using CDONTS

File summary
Once your system is properly configured, we're going to use two sets of pages that will demonstrate how to use the CDONTS object. These pages will demonstrate how to send a message, attach documents, control formatting and encoding properties, enable HTML within message body, and add custom message headers. In this article, we'll use files with the .htm extensions as the data input pages, and pages with the .asp extensions to process the CDONTS objects. Table A illustrates the page names and descriptions.

Table A: File Listing

Page name Description
cdonts_simpleInput.htm Basic CDO for NTS Input page
cdonts_simpleInput.asp Basic CDO for NTS processing page

Using the CDONTS NewMail object
Let's get started by discussing the CDO for NTS object model. The CDO for NTS Object Model consists of multiple objects. The NewMail object allows you to create and send new mail messages. For the purposes of this article, we're only concerned with creating new messages, and we're only going to focus on using the NewMail object. If you've ever used an Internet mail program, you'll notice similar properties when creating a new mail message as in the NewMail object. The NewMail property descriptions are shown in Table B.

Table B: CDONTS properties and descriptions Property Description
Bcc Sends a blind copy of the message to this semicolon-separated list
Body Contains the content of your message in text of HTML format
BodyFormat Sets the text format of the message
Cc Sends a copy of the message to the semicolon-separated list
ContentBase Sets the base property for URLs in the body of the message
ContentLocation Sets the absolute or relative paths for URLs contained in the message's body
From Sets the sender's address
Importance Sets the level of importance of the sent message
MailFormat Sets the mail encoding format to MIME or text format
Subject Sets the subject of the message
To Sends the message to this semicolon-separated list
Value Sets additional header information for the message
Version Retrieves the version of the CDONTS.DLL

After setting the NewMail properties, you can use the NewMail methods, shown in Table C, to perform actions on a message. These actions include adding attachments and URLs, sending messages, and setting local IDs.

Table C: CDONTS method descriptions Method Description
AttachFile Adds an attachment to the current message
AttachURL Adds a URL as an attachment
Send Sends the message to the TO, CC, BCC recipient list
SetLocaleIDs Sets the user's local messaging environment variables

Using basic CDONTS techniques
Consider the following situation: we want to automatically send a message to notify the network administrator that a specific amount of concurrent HTTP connections was reached. Granted, in most situations when you're building messaging systems that allow applications to alert or notify external processes, you won't build a user input page. However, for the sake of this demonstration, we've created a user input screen, named cdonts.htm . This Web page, shown in Figure C, enables the user to specify whom to send the message to, from whom the message is sent, the subject matter, and set the Importance level and enter the message text.

Now, let's take a closer look at the individual pages that make this email processing possible. First, let's review the HTML code that's used to collect the data cdonts.htm. Upon review, you'll notice that this page contains HTML Form elements with FrontPage validation and posts its results to cdonts.asp for processing, as seen in Listing A.

Listing A: cdonts.htm


<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Language" CONTENT="en-us">
<META NAME="GENERATOR" content="Microsoft FrontPage 4.0">
<META NAME="ProgId" content="FrontPage.Editor.Document">
<TITLE>CDO for NTS -Simple Input Page</TITLE>
</HEAD>

<BODY>
<FORM METHOD="post" ACTION="cdonts.asp" 
ONSUBMIT="return FrontPage_Form1_Validator(this)" 
NAME="FrontPage_Form1">
<TABLE BORDER="0" width="100%">
<TR>
<TD VALIGN="top" ALIGN="left">From:</TD>
<TD VALIGN="top" ALIGN="left"> 
<P><!--WEBBOT BOT="Validation" STARTSPAN 
S-DISPLAY-NAME="From"
S-DATA-TYPE="String" B-ALLOW-LETTERS="TRUE" 
B-ALLOW-DIGITS="TRUE"
B-ALLOW-WHITESPACE="TRUE" S-ALLOW-OTHER-CHArs="@."
B-VALUE-REQUIRED="TRUE" I-MINIMUM-LENGTH="4" --><!--WEBBOT
BOT="Validation" endspan -->
<INPUT NAME="txtFrom" SIZE="45"></P>
</TD>
</TR>
<TR>
<TD VALIGN="top" ALIGN="left">To:</TD>
<TD VALIGN="top" ALIGN="left"><!-- WEBBOT BOT="Validation" 
STARTSPAN
S-DISPLAY-NAME="To" S-DATA-TYPE="String" 
B-ALLOW-LETTERS="TRUE"
B-ALLOW-DIGITS="TRUE" S-ALLOW-OTHER-CHARS="@." 
B-VALUE-REQUIRED="TRUE"
I-MINIMUM-LENGTH="7" --><!-- WEBBOT BOT="Validation" 
ENDSPAN --><INPUT NAME="txtTo" SIZE="45">
</TD>
</TR>

<TR>
<TD VALIGN="top" ALIGN="left">Subject:</TD>
<TD VALIGN="top" ALIGN="left">
<INPUT NAME="txtSubject" SIZE="45"></TD>
</TR>
<TR>
<TD VALIGN="top" ALIGN="left">Importance:</TD>
<TD VALIGN="top" ALIGN="left">
<INPUT TYPE="radio" 
NAME="optImportance" VALUE="2">High&nbsp;&nbsp;&nbsp;
<INPUT TYPE="radio" 
CHECKED NAME="optImportance" VALUE="1">
Normal&nbsp;&nbsp;&nbsp;
<INPUT TYPE="radio" NAME="optImportance" VALUE="0">Low</TD>
</TR>
<TR>
<TD VALIGN="top" ALIGN="left">Message:</TD>
<TD VALIGN="top" ALIGN="left"><TEXTAREA COLS=68 
NAME=TXTMESSAGE ROWS=9>Type your message here in text
format</TEXTAREA></TD>
</TR>
<TR>
<TD VALIGN="top" ALIGN="left" COLSPAN="2">
<P ALIGN="center"><INPUT TYPE="submit" 
VALUE="Send Message" NAME="btnSend" 
TABINDEX="1">&nbsp;&nbsp;&nbsp;
<INPUT TYPE="reset" VALUE="  CLEAR  " NAME="btnClear" 
TABINDEX="2"></P></TD>
</TR>
</TABLE>
</FORM>
</BODY>
</HTML>
The page cdonts.asp accepts the posted data and process the CDONTS messaging request. In addition, this page displays results back to the user.

Listing B: cdonts.asp

<%@ LANGUAGE="VBSCRIPT" %>
<% 
Option Explicit
On Error Resume Next

Sub WriteHTML(strInput)
	Response.Write(Server.HTMLEncode(strInput) & "<BR>")
End Sub
%>
	
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="Microsoft FrontPage 4.0">
<TITLE>Send CDONTS - Simple Input</TITLE>
</HEAD>
<BODY>

<%
Dim objMsg, strFrom, strTo, strSubject, strBody, lngImportance
strFrom = Trim(Request.Form("txtFrom"))
strTo = Trim(Request.Form("txtTo"))
strSubject = Trim(Request.Form("txtSubject"))
strBody = Trim(Request.Form("txtMessage"))
lngImportance = Trim(Request("optImportance"))	

Set objMsg = Server.CreateObject("CDONTS.NewMail")

objMsg.From = strFrom
objMsg.To = strTo
objMsg.Subject = strSubject
objMsg.Body = strBody
objMsg.Importance = lngImportance
objMsg.Send

'=== Alternatively you could have sent this in one line:
'objMsg.Send strFrom, strTo, strSubject, strBody, 
lngImportance
         
Set objMsg = Nothing

WriteHTML("The following message was sent via CDO for NTS:")
WriteHTML("From: " &strFrom)
WriteHTML("To: " &strTo)
WriteHTML("Subject: " &strSubject)
WriteHTML("Importance: "&lngImportance)
WriteHTML("Body: " &strBody)
%>
<HR>
<A HREF = "cdonts.htm">Send another message</A><BR>
</BODY>
</HTML>
If we sort through the code in Listing B, the core CDONTS processing takes place in the following code snippet:
<%
`=== Assign variables
Dim objMsg, strFrom, strTo, strSubject, _
	strBody, lngImportance
strFrom = (Request.Form("txtFrom"))
strTo = Trim(Request.Form("txtTo"))
strSubject = Trim(Request.Form _
	("txtSubject"))
strBody = Trim(Request.Formn _
	("txtMessage"))
lngImportance = Trim(Request _
	("optImportance"))

Set objMsg = Server.CreateObject _
	("CDONTS.NewMail")
objMsg.From = strFrom
objMsg.To = strTo
objMsg.Subject = strSubject
objMsg.Body = strBody
objMsg.Importance = lngImportance
objMsg.Send
     
Set objMsg = Nothing
%>
This code snippet uses the Request.Form object to assign variables into the To, From, Subject, Importance, and Body of the message. Next, the CDONTS object is instantiated with the Server.CreateObject method:
Set objMsg = Server.CreateObject _
	("CDONTS.NewMail")
Now that an instance of the object exists and the object's properties are set, the message is sent using the send method:
objMsg.Send
You could have also sent the message using just three lines of code:
Set objMsg = Server.CreateObject
=>("CDONTS.NewMail")
objMsg.Send strFrom, strTo, strSubject,
=>strBody, lngImportance
Set objMsg = nothing
Although the send method syntax allows all arguments to be optional, your message isn't much good if it isn't sent to a valid SMTP address (user@domain):
Send ([From] [, To] [, Subject] [, Body] 
=>[, Importance])

Conclusion
As you can see from our example, the CDONTS technology is straightforward, with one quirk to keep in mind: once the CDONTS object has sent the message, the object can't be used to send another message. If you find yourself in a situation where you have to send multiple messages within the same script, you'll need to create a process to serially creating unique CDONTS objects.


 
Professional Web Site Packages
Google Search
 
Search canaustralia.com
Search the web
 
To enquire about any of our services, please email info@canaustralia.com
 
 
Professional Web Site Packages Web Hosting