打开或者关闭一个 Microsoft Exchange 服务器的永久连接,或是取得关于 mailbox subfolders的信息。你必须有一个永久的或是暂时的连接用来使用 cfexchangecalendar, cfexchangecontact, cfexchangemail, 和 cfexchangetask 标签。
open
<cfexchangeconnection
required
action = "open"
connection = "connection ID">
server = "Exchange server ID"
username = "Exchange user ID">
optional
ExchangeServerLanguage = "Language name"
formBasedAuthentication = "no|yes">
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
ExchangeServerLanguage = "Language name"
folder = "Exchange folder path">
formBasedAuthentication = "no|yes">
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">
注: 你可以在attributeCollection 中指定这个标签的属性,作为一个结构的value,在attributeCollection 中指定结构的名称,并使用这个标签的属性名称作为这个结构的Keys.
|
属性 |
Action |
必选/可选 |
默认 |
描述 |
|---|---|---|---|---|
| action
|
所有 |
必选 |
|
take的动作。必须是以下的值之一:
|
|
connection
|
所有 |
open和close操作,必选 |
|
连接的名字。你可以在和打开的连接一起使用的任意的标签里指定这个ID 。 |
|
ExchangeServerLanguage |
open getSubfolders |
可选 |
english
|
Exchange 服务器的语言。如果你不确定的话,你可以指定一个空的字符串。.对于除了英语以外的所有值,包括空的字符串,这个标签都试图从客户端的本地语言中取得文件夹的名字。有些时候,比如说,当服务器上有大量的数据时,会花费显著的时间从使用本地语言的Exchange服务器上得到文件夹名。 |
|
folder |
getSubfolders |
可选 |
the root of the mailbox |
斜线 (/) 划定了从邮箱的根目录的路径,这样就可以知道是要进入哪个文件夹了 如果一个文件夹的名字包含了一个斜线,你可以使用 _xF8FF_ escape 序列来指定名字里的字符 |
|
formBasedAuthentication |
open getSubfolders |
可选 |
no |
定了是否要显示一个登陆表单并使用当开始连接时基于认证的表格的一个Boolean值。如果这个属性的值是 no (默认), 并且当 ColdFusion 试图连接的时候 Exchange服务器返回一个 440 错误信息, ColdFusion就会显示登陆表格并且试图使用基于认证的表格。因此,如果你不知道服务器是否要求基于认证的表格,你也可以忽略这个属性无妨。 |
|
mailboxName |
open
getSubfolders |
可选 |
|
Exchange 邮箱使用的ID。指定这个属性登陆一个邮箱,这个邮箱的所有者已经授予访问权限给指定的帐户中的用户属性。 |
|
name |
getSubfolders |
必选 |
|
包含了子文件夹的信息的ColdFusion query 变量的名字。 |
|
password |
open
getSubfolders |
可选 |
|
进入Exchange 服务器的用户的密码 |
|
port |
open
getSubfolders |
可选 |
80 |
对服务器连接的端口,最常见的端口值是80 |
|
protocol |
open
getSubfolders |
可选 |
http |
用来连接的protocol,有效值是http 和 https |
|
proxyHost |
open getSubfolders |
可选 |
|
.如果要求登陆网络的话,一个代理主机的URL 或 IP地址 |
|
proxyPort |
open
getSubfolders |
可选 |
|
服务器上用来连接的端口,最常见的端口值是80 |
|
recurse |
getSubfolders |
可选 |
false |
一个 Boolean 值:
|
|
server |
open
getSubfolders |
必选 |
|
服务器提供Exchange登陆的 IP 地址或者 URL |
|
username |
open
getSubfolders |
必选 |
|
Exchange 用户 ID. |
注: 如果你指定了getSubfolders动作,只有当你没有指定一个连接属性的时候,你可以指定那些列为只用作打开和getSubfolders 动作的属性。
该 cfexchangeconnection标签可以打开和关闭一个 Exchange 服务器上的永久连接。如果你使用 cfexchangeconnection 来打开一个连接,之前你还没有使用任何的cfexchangecalendar, cfexchangecontact, cfexchangemail, 或 cfexchangetask 标签,你就可以使用多个标签来和 Exchange 服务器互动,而不用为每一个标签创建一个连接导致架空( without incurring the overhead of creating a connection for each tag.)
注: 为了建立任意的连接,Exchange服务器必须要有Outlook Web登陆。完成登陆的更多信息,请看 ColdFusion Developer's Guide.的 "Enabling Outlook web access"
当你结束登陆Exchange服务器的时候,会使用cfexchangeconnection 标签来关闭一个永久连接。如果你没有关闭连接,它就保持打开的状态,不会超时。
cfexchangecalendar, cfexchangecontact, cfexchangemail, 和 cfexchangetask 标签也可以让你指定打开的动作连接属性(但是不是连接属性),来创建一个暂时的连接,这个暂时连接可以持续使用在单个标签的运作期间,这样就无需要求你使用cfexchangeconnection标签来创建连接。 这种情况下,ColdFusion会在标签完成运作的时候自动关闭连接。
该 getSubfolders 动作可以取到一个指定文件夹(或者是邮箱的最高级目录)的当下子文件夹的信息,或者是关于指定文件夹下所有文件夹的信息。你必须有一个永久的连接取到该子文件夹。
这个由getSubfolders 动作返回的 query有以下栏目:
|
栏目 |
内容 |
|---|---|
|
FOLDERNAME |
子文件夹的名字,比如说 ColdFusion. |
|
FOLDERPATH |
斜线划定的从邮箱的根捣文件夹的路径,比如说Inbox/Marketing/ColdFusion. |
|
FOLDERSIZE |
文件夹的字节大小 |
注: 该ColdFusion exchange标签,包含了cfexchangeconnection使用WebDAV 连接到exchange服务器。HTTP登陆必须能在exchange服务器上使用这个标签。
下面的例子打开了一个连接,取到了所有从 spamsource.com发送来的邮件,并且删除了所有从Exchange服务器上发送来的邮件。
<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">