Easy MAPI mail!
This code will help understanding the use of the MAPI controls
AI
Riepilogo AI: This codebase represents a historical implementation of the logic described in the metadata. Our preservation engine analyzes the structure to provide context for modern developers.
Codice sorgente
Public Function SendMAPIMail( _
MsgTo As String, _
Optional CC As String = "", _
Optional Subject As String = "", _
Optional Body As String = "", _
Optional Att As String = "") _
As Boolean
'Code by Conrad
'email cbrits@monotix.co.za
'-----------------------------------------------
'** PLEASE NOTE!! **
'You need a form with both
'controls (MapiMessages and MapiSession) on it
'
'Do the following:
'-----------------
' 1.Add a form, and name it frmMail.
' 2.Go to Components...(Project menu) and find
' Microsoft MAPI Controls.
' 3.Check it, and click OK. There will now
' be two
' new controls on your Control Tab.
' 4.Add the two new controls to your form.
'
'-----------------------------------------------
On Error GoTo ErrHndl
Dim MAPISes As MAPISession
Dim MAPIMsgs As MAPIMessages
Screen.MousePointer = 11
'set the objects to the controls of the form
Set MAPISes = frmMail.MAPISession1
Set MAPIMsgs = frmMail.MAPIMessages1
'download new mail = false
MAPISes.DownLoadMail = False
'show the logon interface for the mail
'account = true
MAPISes.LogonUI = True
'sign on to selected account
MAPISes.SignOn
DoEvents
'check if logon was successful
If MAPISes.SessionID = 0 Then
SendMAPIMail = False
MsgBox "Error on login to MAPI", _
vbCritical, "MAPI"
Exit Function
End If
'set the session IDs the same on both objects
MAPIMsgs.SessionID = MAPISes.SessionID
'Set the MSgIndex to -1, this needs to be
'done for the Compose event to work
MAPIMsgs.MsgIndex = -1
'compose a new message
MAPIMsgs.Compose
'don't show the resolve address interface
MAPIMsgs.AddressResolveUI = False
'set the recipient
MAPIMsgs.RecipIndex = 0
MAPIMsgs.RecipType = mapToList
MAPIMsgs.RecipAddress = MsgTo
'resolve the recipient's email addresses
MAPIMsgs.ResolveName
'set the CC recipient
MAPIMsgs.RecipIndex = 1
MAPIMsgs.RecipType = mapCcList
MAPIMsgs.RecipAddress = CC
'resolve the recipient's email addresses
MAPIMsgs.ResolveName
'set the subject
MAPIMsgs.MsgSubject = Subject
'set the Message/Body/NoteText
MAPIMsgs.MsgNoteText = Body
If Att <> "" Then
'set an attachment
MAPIMsgs.AttachmentPathName = Att
End If
'send the message
MAPIMsgs.Send
'close the current session
MAPISes.SignOff
'clear objects
Set MAPIMsgs = Nothing
Set MAPISes = Nothing
SendMAPIMail = True
Screen.MousePointer = 0
Exit Function
ErrHndl:
Set MAPIMsgs = Nothing
Set MAPISes = Nothing
Screen.MousePointer = 0
MsgBox "Error [" & Err & "] " & Error, vbCritical, "MAPI"
Screen.MousePointer = 11
On Error Resume Next
frmMail.MAPISession1.SignOff
SendMAPIMail = False
Screen.MousePointer = 0
End Function
Upload
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>An XML Messsage Board System</title>
</head>
<body>
<h2 align="center"><span lang="EN-US"><font face="Book Antiqua">An XML Messsage
Board System</font><o:p>
</o:p>
</span></h2>
<h3 align="center"><span lang="EN-US" style="font-size:12.0pt"><font face="Book Antiqua"><b>by
Jamie Band, Stimulus Software Architects</b></font><o:p>
</o:p>
</span><span lang="EN-US" style="mso-ansi-language:EN-US"><o:p>
</o:p>
</span></h3>
<p><span lang="EN-US"><font face="Book Antiqua">As part of my quest to learn
more about XML and its associated technologies, I decided to implement an XML
message board system. It serves as useful example to others learning the
technology and to those who simply would like to incorporate a message board
system into their website (without having to install an expensive SQL database).</font></o:p>
</span></p>
<p><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US">The downloadable archive contains the following files:<o:p>
</o:p>
<o:p>
</o:p>
</span></p>
<table border="1" cellspacing="0" cellpadding="0" width="597" style="border-collapse: collapse; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; border-style: none; border-width: medium">
<tr>
<td width="161" valign="top" style="width:120.95pt;border:solid windowtext .5pt;
padding:0cm 5.4pt 0cm 5.4pt"><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US">Default.htm<o:p>
</o:p>
</span></td>
<td width="436" valign="top" style="mso-border-left-alt: solid windowtext .5pt; border-left-style: none; border-left-width: medium; border-right: .5pt solid windowtext; border-top: .5pt solid windowtext; border-bottom: .5pt solid windowtext; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; padding-bottom: 0cm"><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US">The main page leading to others<o:p>
</o:p>
</span></td>
</tr>
<tr>
<td width="161" valign="top" style="width:120.95pt;border:solid windowtext .5pt;
border-top:none;mso-border-top-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt"><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US">Global.asa<o:p>
</o:p>
</span></td>
<td width="436" valign="top" style="mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; border-left-style: none; border-left-width: medium; border-right: .5pt solid windowtext; border-top-style: none; border-top-width: medium; border-bottom: .5pt solid windowtext; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; padding-bottom: 0cm"><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US">Contains application scope logic (loading XML doc)<o:p>
</o:p>
</span></td>
</tr>
<tr>
<td width="161" valign="top" style="width:120.95pt;border:solid windowtext .5pt;
border-top:none;mso-border-top-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt"><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US">Post.asp<o:p>
</o:p>
</span></td>
<td width="436" valign="top" style="mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; border-left-style: none; border-left-width: medium; border-right: .5pt solid windowtext; border-top-style: none; border-top-width: medium; border-bottom: .5pt solid windowtext; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; padding-bottom: 0cm"><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US">HTML form for entry of new messages <o:p>
</o:p>
</span></td>
</tr>
<tr>
<td width="161" valign="top" style="width:120.95pt;border:solid windowtext .5pt;
border-top:none;mso-border-top-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt"><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US">Reply.asp<o:p>
</o:p>
</span></td>
<td width="436" valign="top" style="mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; border-left-style: none; border-left-width: medium; border-right: .5pt solid windowtext; border-top-style: none; border-top-width: medium; border-bottom: .5pt solid windowtext; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; padding-bottom: 0cm"><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US">HTML form for entry of message replies<o:p>
</o:p>
</span></td>
</tr>
<tr>
<td width="161" valign="top" style="width:120.95pt;border:solid windowtext .5pt;
border-top:none;mso-border-top-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt"><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US">Viewmessage.asp<o:p>
</o:p>
</span></td>
<td width="436" valign="top" style="mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; border-left-style: none; border-left-width: medium; border-right: .5pt solid windowtext; border-top-style: none; border-top-width: medium; border-bottom: .5pt solid windowtext; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; padding-bottom: 0cm"><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US">ASP logic for displaying a single message<o:p>
</o:p>
</span></td>
</tr>
<tr>
<td width="161" valign="top" style="width:120.95pt;border:solid windowtext .5pt;
border-top:none;mso-border-top-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt"><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US">Viewmessage.xsl<o:p>
</o:p>
</span></td>
<td width="436" valign="top" style="mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; border-left-style: none; border-left-width: medium; border-right: .5pt solid windowtext; border-top-style: none; border-top-width: medium; border-bottom: .5pt solid windowtext; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; padding-bottom: 0cm"><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US">XSL stylesheet for displaying a singlemessage<o:p>
</o:p>
</span></td>
</tr>
<tr>
<td width="161" valign="top" style="width:120.95pt;border:solid windowtext .5pt;
border-top:none;mso-border-top-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt"><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US">Viewmessagelist.asp<o:p>
</o:p>
</span></td>
<td width="436" valign="top" style="mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; border-left-style: none; border-left-width: medium; border-right: .5pt solid windowtext; border-top-style: none; border-top-width: medium; border-bottom: .5pt solid windowtext; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; padding-bottom: 0cm"><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US">ASP logic for displaying hierarchical list of
messages<o:p>
</o:p>
</span></td>
</tr>
<tr>
<td width="161" valign="top" style="width:120.95pt;border:solid windowtext .5pt;
border-top:none;mso-border-top-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt"><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US">Viewmessagelist.xsl<o:p>
</o:p>
</span></td>
<td width="436" valign="top" style="mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; border-left-style: none; border-left-width: medium; border-right: .5pt solid windowtext; border-top-style: none; border-top-width: medium; border-bottom: .5pt solid windowtext; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; padding-bottom: 0cm"><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US">XSL stylesheet for displaying hierarchical list of
msgs<o:p>
</o:p>
</span></td>
</tr>
<tr>
<td width="161" valign="top" style="width:120.95pt;border:solid windowtext .5pt;
border-top:none;mso-border-top-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt"><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US">Submitmessage.asp<o:p>
</o:p>
</span></td>
<td width="436" valign="top" style="mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; border-left-style: none; border-left-width: medium; border-right: .5pt solid windowtext; border-top-style: none; border-top-width: medium; border-bottom: .5pt solid windowtext; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; padding-bottom: 0cm"><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US">ASP logic for inserting a message in the message tree<o:p>
</o:p>
</span></td>
</tr>
<tr>
<td width="161" valign="top" style="width:120.95pt;border:solid windowtext .5pt;
border-top:none;mso-border-top-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt"><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US">Messageboard.biz<o:p>
</o:p>
</span></td>
<td width="436" valign="top" style="mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; border-left-style: none; border-left-width: medium; border-right: .5pt solid windowtext; border-top-style: none; border-top-width: medium; border-bottom: .5pt solid windowtext; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; padding-bottom: 0cm"><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US">XML Schema for the messageboard.XML<o:p>
</o:p>
</span></td>
</tr>
<tr>
<td width="161" valign="top" style="width:120.95pt;border:solid windowtext .5pt;
border-top:none;mso-border-top-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt"><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US">Messageboard.xml<o:p>
</o:p>
</span></td>
<td width="436" valign="top" style="mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; border-left-style: none; border-left-width: medium; border-right: .5pt solid windowtext; border-top-style: none; border-top-width: medium; border-bottom: .5pt solid windowtext; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; padding-bottom: 0cm"><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US">XML file created by ASP logic to store messages<o:p>
</o:p>
</span></td>
</tr>
</table>
<p>T<span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US">o install and run this XML application on your own
system you will need:<o:p>
</o:p>
<o:p>
</o:p>
</span></p>
<ul style="margin-top:0cm" type="disc">
<li class="MsoNormal" style="mso-list:l0 level1 lfo2;tab-stops:list 36.0pt"><span lang="EN-US" style="font-family:"Book Antiqua";mso-ansi-language:EN-US">An
ASP enabled web server such as Internet Information Server<o:p>
</o:p>
</span></li>
<li class="MsoNormal" style="mso-list:l0 level1 lfo2;tab-stops:list 36.0pt"><span lang="EN-US" style="font-family:"Book Antiqua";mso-ansi-language:EN-US">Microsoft’s
XML parser (MSXML 3.0 beta and higher)<o:p>
</o:p>
</span></li>
</ul>
<p><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US"> <o:p>
</o:p>
You’ll need to configure your web server’s file write access permissions in
the directory where you install the above files. This can be a little tricky in
IIS so be sure read the IIS documentation to find out how. <o:p>
</o:p>
</span></p>
<p><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US"> <o:p>
</o:p>
A message board system is suited to XML implementation, because it is inherently
a hierarchical system. <o:p>
</o:p>
<o:p>
</o:p>
</span></p>
<dl>
<dd><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US"><messageboard><o:p>
</o:p>
<span style="mso-tab-count:1"> </span></span></dd>
<dd><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US"><span style="mso-tab-count:1"> </span>
<span style="mso-tab-count: 1"> </span><group><o:p>
</o:p>
</span></dd>
<dd><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US"><span style="mso-tab-count:1">
</span><message><o:p>
</o:p>
</span></dd>
<dd><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US"><span style="mso-tab-count:2">
</span><span style="mso-tab-count:1">
</span><message><o:p>
</o:p>
</span></dd>
<dd><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US"><span style="mso-tab-count:2">
</span><span style="mso-tab-count:1">
</span></message><o:p>
</o:p>
</span></dd>
<dd><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US"><span style="mso-tab-count:1">
</span></message><o:p>
</o:p>
</span></dd>
<dd><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US"><span style="mso-tab-count:1">
</span></group><o:p>
</o:p>
</span></dd>
<dd><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US"><messageboard></span></dd>
</dl>
<p style="text-align:justify"><span style="font-family:"Book Antiqua"">A
message is contained within a message group. A reply to a message is neatly
contained within its original message.<span style="mso-spacerun: yes"> </span>This
simple structure is used to define a message tree. The entire message tree is
stored in the XML flat file “messageboard.xml”.</span><span lang="EN-US" style="font-family:"Book Antiqua";mso-ansi-language:EN-US">
<o:p>
</o:p>
</span></p>
<p style="text-align:justify"><span lang="EN-US" style="font-family:"Book Antiqua";mso-ansi-language:EN-US"> <o:p>
</o:p>
</span><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US">The information contained in the message tree is
displayed in an appropriate format using XSL style sheets.<span style="mso-spacerun: yes">
</span>This example does not rely on the presence of an XML/XSL capable browser.
It uses XSL processing on the server-side to output HTML for legacy browser
compatibly. However the example could just as easily be modified to support XSL
processing on the client.<o:p>
</o:p>
</span></p>
<p><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US"> <o:p>
</o:p>
The root node (“messageboard”) in the XML message tree is constructed in the
Application_OnStart method of global.asa supposing no messages have been posted.<span style="mso-spacerun: yes">
</span>The DOMDocument object is therefore defined at application-level scope,
meaning that multiple users access the same document tree in memory.<o:p>
</o:p>
<o:p>
</o:p>
</span></p>
<p><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US">Each message in the message board contains the
following attributes:<o:p>
</o:p>
</span></p>
<dl>
<dd><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US"><span style="mso-tab-count:1">
</span>Subject = the subject of the message<o:p>
</o:p>
</span></dd>
<dd> <span style="font-family: Book Antiqua; mso-ansi-language: EN-US" lang="EN-US">
</span><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US">Nick = the nickname of the person who wrote the message<o:p>
</o:p>
</span></dd>
<dd><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US"><span style="mso-tab-count:1">
</span>Id = a unique identifier associated with the stored message<o:p>
</o:p>
</span></dd>
<dd><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US"><span style="mso-tab-count:1">
</span>PostDt =<span style="mso-spacerun: yes"> </span>the time and
date when the message was posted<span style="mso-tab-count:1">
</span><o:p>
</o:p>
</span></dd>
</dl>
<p><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US"> <o:p>
</o:p>
</span><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US">The file “submitmessage.asp” contains ASP the logic
for inserting a message node into the message tree, in response to new post and
reply to message operations.<span style="mso-spacerun: yes"> </span><o:p>
</o:p>
</span></p>
<p><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US"> <o:p>
</o:p>
</span><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US">The XSL stylesheets viewmessagelist.xsl, and
viewmessage.xsl, display a list of hierarchical messages in a message group and
the contents of a message, respectively. <o:p>
</o:p>
</span></p>
<p><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US"> <o:p>
</o:p>
XSL parameters are used extensively, for example, to display a particular
message associated with a message Id, the viewmessage.xsl stylesheet includes
the tag:<o:p>
</o:p>
</span></p>
<dl>
<dd><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US"> <o:p>
</o:p>
</span><font face="Book Antiqua"><span lang="EN-US" style="font-size: 10.0pt; mso-bidi-font-family: MS Shell Dlg; background-repeat: repeat; background-attachment: scroll; mso-highlight: white; mso-ansi-language: EN-US; background-position: 0%"><xsl:param
name="msgid"/></span><span lang="EN-US" style="mso-ansi-language: EN-US; mso-spacerun: yes">
</span></font><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US"><span style="mso-spacerun: yes"> </span><o:p>
</o:p>
</span></dd>
</dl>
<p><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US"> <o:p>
</o:p>
</span><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US">The above msgid parameter is supplied prior to XSL
processing in the ASP script:<o:p>
</o:p>
</span></p>
<dl>
<dd><span style="font-family:"Book Antiqua""><o:p>
</o:p>
<font size="2">xslproc.addParameter "msgid",CStr(id)<o:p>
</o:p>
<br>
xslproc.transform</font><o:p>
</o:p>
</span></dd>
</dl>
<p><span style="font-family:"Book Antiqua""> <o:p>
</o:p>
</span><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US">where id contains the unique id of the message to be
displayed. <o:p>
</o:p>
</span></p>
<p><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US"> <o:p>
</o:p>
Message IDs are used to locate messages in the message board, using the
nodeFromID() method available in the MSXML-2 XMLDOMDocument object.<o:p>
</o:p>
</span></p>
<p><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US"> <o:p>
</o:p>
By far the most interesting style sheet is viewmessagelist.xsl. The style sheet
displays the message hierarchy by recursively applying message templates and
using the HTML DIV tag to format the output in an indented fashion.<o:p>
</o:p>
</span></p>
<p><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US"> <o:p>
</o:p>
There are a number of useful extensions that can be added to this example, if
you’re keen to beef up your XML expertise:<o:p>
</o:p>
<o:p>
</o:p>
</span></p>
<ul style="margin-top:0cm" type="disc">
<li class="MsoNormal" style="mso-list:l1 level1 lfo1;tab-stops:list 36.0pt"><span lang="EN-US" style="font-family:"Book Antiqua";mso-ansi-language:EN-US">Implement
a search function enabling users to find messages on the message board<o:p>
</o:p>
</span></li>
<li class="MsoNormal" style="mso-list:l1 level1 lfo1;tab-stops:list 36.0pt"><span lang="EN-US" style="font-family:"Book Antiqua";mso-ansi-language:EN-US">Incorporate
message count statistics for each message group<o:p>
</o:p>
</span></li>
<li class="MsoNormal" style="mso-list:l1 level1 lfo1;tab-stops:list 36.0pt"><span lang="EN-US" style="font-family:"Book Antiqua";mso-ansi-language:EN-US">For
each user (nick) supply information on which messages have been read / not
read<o:p>
</o:p>
</span></li>
<li class="MsoNormal" style="mso-list:l1 level1 lfo1;tab-stops:list 36.0pt"><span lang="EN-US" style="font-family:"Book Antiqua";mso-ansi-language:EN-US">Link
up message groups from different sources (i.e. web sites) <o:p>
</o:p>
</span></li>
</ul>
<p><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US">I hope you find this example useful. If you have any
questions or suggestions you can reach on <a href="mailto:jaband@mweb.co.za">jaband@mweb.co.za</a>.<o:p>
</o:p>
</span></p>
<div style="border:none;border-bottom:double windowtext 2.25pt;padding:0cm 0cm 1.0pt 0cm">
<p style="border:none;mso-border-bottom-alt:double windowtext 2.25pt;
padding:0cm;mso-padding-alt:0cm 0cm 1.0pt 0cm"><span lang="EN-US" style="font-family:"Book Antiqua";mso-ansi-language:EN-US"> <o:p>
</o:p>
</span></p>
</div>
<p><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US">Jamie Band is a Systems Architect at Stimulus Software
in Johannesburg, <o:p>
</o:p>
South Africa. </span></p>
<p><span lang="EN-US" style="font-family:"Book Antiqua";
mso-ansi-language:EN-US">You can reach him on <a href="mailto:jaband@mweb.co.za">jaband@mweb.co.za</a>
or +27-83-412-5975<o:p>
</o:p>
</span></p>
<p><span lang="EN-US" style="mso-ansi-language:EN-US"> <o:p>
</o:p>
</span></p>
</body>
</html>
Commenti originali (3)
Recuperato da Wayback Machine