|
DescriptionOpens
or closes a persistent connection to a Microsoft Exchange server,
or gets information about mailbox subfolders. You must have a persistent
or temporary connection to use the cfexchangecalendar, cfexchangecontact, cfexchangemail,
and cfexchangetask tags.
HistoryColdFusion
8: Added this tag.
Syntaxopen
<cfexchangeconnection
required
action = "open"
connection = "connection ID">
server = "Exchange server ID"
username = "Exchange user ID">
optional
ExchangeApplicationName = "Application name"
ExchangeServerLanguage = "Language name"
formBasedAuthentication = "no|yes">
formBasedAuthenticationURL = "URL">
mailboxName = "Exchange mailbox">
password = "user password"
port = "IP port"
protocol = "http|https"
proxyHost = "proxy host URL"
proxyPort = "proxy IP port"
getSubfolders
<cfexchangeconnection
required
action = "getSubfolders"
connection = "connection ID">
name = "query name"
optional
folder = "Exchange folder path">
recurse = "no|yes">
OR
<cfexchangeconnection
required
action = "getSubfolders"
name = "query name"
server = "Exchange server ID"
username = "Exchange user ID">
optional
ExchangeApplicationName = "Application name"
ExchangeServerLanguage = "Language name"
folder = "Exchange folder path">
formBasedAuthentication = "no|yes">
formBasedAuthenticationURL = "URL">
mailboxName = "Exchange mailbox">
password = "user password"
port = "IP port"
protocol = "http|https"
proxyHost = "proxy host URL"
proxyPort = "proxy IP port"
recurse = "no|yes">
close
<cfexchangeconnection
required
action = "close"
connection = "connection ID">
Note: You
can specify this tag’s attributes in an attributeCollection attribute
whose value is a structure. Specify the structure name in the attributeCollection attribute
and use the tag’s attribute names as structure keys.
Attributes
Attribute
|
Action
|
Req/Opt
|
Default
|
Description
|
action
|
all
|
Required
|
|
The action to take. Must be one of the following values:
open: Open a new persistent named connection
close: Close a named connection
getSubfolders: Get information about the subfolders
of a specific folder.
|
connection
|
all
|
Required for open and close actions
|
|
The name of the connection. You can specify
this ID in any tag that you use with the open connection.
|
ExchangeApplicationName
|
open
getSubfolders
|
Optional
|
exchange
|
The name of the Exchange application to
use in the URL that accesses the server. Specify this attribute
if your IIS server does not use the default name for your Exchange
application.
|
ExchangeServerLanguage
|
open
getSubfolders
|
Optional
|
english
|
The language of the Exchange server. If
you are not sure, you can specify the empty string. For all values
except english, including the empty string, the tag tries to get
folder names from the server in the client’s local language. In
some cases, such as when there is a large amount of data on the
server, it might take significant time to get folder names from
Exchange server in the local language.
|
folder
|
getSubfolders
|
Optional
|
The root of
the mailbox
|
The forward slash (/) delimited path from
the root of the mailbox to the folder for which to get subfolders.
If
a folder name contains a forward slash, use the _xF8FF_ escape sequence
to specify the character in the name.
|
formBasedAuthentication
|
open
getSubfolders
|
Optional
|
no
|
A Boolean value that specifies whether to
display a login form and use form based authentication when making
the connection. If the attribute value is no (the
default), and the Exchange server returns a 440 error status when
ColdFusion tries to connect, ColdFusion displays the login form
and attempts to use form based authentication. Therefore, you can
safely omit this attribute if you do not know if the server requires
form based authentication.
|
formBasedAuthenticationURL
|
open
getSubfolders
|
Optional
|
|
The URL to which to post the user ID and
password when an Exchange server uses form-based authentication.
Use this attribute only if your Exchange server does not use default
URL for form-based authentication. The default URL has the form https://exchangeServer/exchweb/bin/auth/owaauth.dll,
for example, https://exchange.mycompany.com/exchweb/bin/auth/owaauth.dll.
|
mailboxName
|
open
getSubfolders
|
Optional
|
|
The ID of the Exchange mailbox to use. Specify
this attribute to access a mailbox whose owner has delegated access
rights to the account specified in the username attribute.
|
name
|
getSubfolders
|
Required
|
|
The name of the ColdFusion query variable
that contains information about the subfolders.
|
password
|
open
getSubfolders
|
Optional
|
|
The user’s password for accessing the Exchange server.
|
port
|
open
getSubfolders
|
Optional
|
80
|
The port the server listens to, most commonly
port 80.
|
protocol
|
open
getSubfolders
|
Optional
|
http
|
The protocol to use for the connection.
Valid values are http and https.
|
proxyHost
|
open
getSubfolders
|
Optional
|
|
The URL or IP address of a proxy host, if
necessary for access to the network.
|
proxyPort
|
open
getSubfolders
|
Optional
|
|
The port on the proxy server to connect
to, most commonly port 80.
|
recurse
|
getSubfolders
|
Optional
|
false
|
A Boolean value:
|
server
|
open
getSubfolders
|
Required
|
|
The IP address or URL of the server that
is providing access to Exchange.
|
username
|
open
getSubfolders
|
Required
|
|
The Exchange user ID.
|
Note: If you specify the getSubfolders action,
you can specify the attributes that are listed as working for both
the open and getSubfolders actions
only if you do not specify a connection attribute.
UsageThe cfexchangeconnection tag
can open or close a persistent connection with an Exchange server.
If you use the cfexchangeconnection to open a connection
before you use any cfexchangecalendar, cfexchangecontact, cfexchangemail,
or cfexchangetask tags, you can use multiple tags
to interact with the Exchange server without incurring the overhead
of creating a connection for each tag.
Note: To
establish any connection, the Exchange server must grant you Outlook
Web Access. For information on how to enable this access, see Enabling
access to the Exchange server in the Developing ColdFusion
Applications. Also, you cannot establish a connection to an Exchange
server if you require a special authentication step, such as requiring
a VPN PIN or performing biometric authentication, on a server that
is outside your firewall, and the authentication server then routes
the messages to your Exchange server inside the firewall.
Use
the cfexchangeconnection tag to close a persistent
connection when you are finished accessing the Exchange server.
If you do not close the connection, it remains open and does not
time out.
The cfexchangecalendar, cfexchangecontact, cfexchangemail, and cfexchangetask tags
also let you specify the open action connection attributes
(but not the connection attribute) to create a
temporary connection that lasts for the duration of the single tag’s
activities, without requiring you to use the cfexchangeconnection tag
to create the connection. In this case, ColdFusion automatically
closes the connection when the tag completes processing.
The getSubfolders action
can get information about the immediate subfolders of a specified
folder (or of the top level of the mailbox), or information about
all levels of subfolders. You must have a persistent connection
to get the subfolders.
The query returned by the getSubfolders action
has the following columns:
Column
|
Contents
|
FOLDERNAME
|
The name of the subfolder, for example,
ColdFusion.
|
FOLDERPATH
|
The forward slash (/) delimited path to
the folder from the mailbox root, including the folder name, for
example, Inbox/Marketing/ColdFusion.
|
FOLDERSIZE
|
Size of the folder in bytes.
|
Note: The ColdFusion exchange
tags, including cfexchangeconnection use WebDAV
to connect to the exchange server. HTTP access must be enabled on
the exchange server to use the tags.
ExampleThe
following example opens a connection, gets all mail sent from spamsource.com,
and deletes the messages from the Exchange server:
<cfexchangeConnection
action="open"
username="#user1#"
password="#password1#"
server="#exchangeServerIP#"
connection="testconn1">
<cfexchangemail action="get" name="spamMail" connection="testconn1">
<cfexchangefilter name="fromID" value="spamsource.com">
</cfexchangemail>
<cfloop query="spamMail">
<cfexchangeMail action="delete" connection="testconn1" uid="#spamMail.uid#">
</cfloop>
<cfexchangeConnection
action="close"
connection="testconn1">
|
|
|