|
DescriptionRetrieves
or deletes e-mail messages from a POP mail server.
Syntax<cfpop
server = "server name"
action = "getHeaderOnly|getAll|delete"
attachmentPath = "path"
debug = "yes|no">
generateUniqueFilenames = "yes|no"
maxRows = "number"
messageNumber = "number"
name = "query name"
password = "password"
port = "port number"
startRow = "number"
timeout = "seconds"
uid = "number"
username = "user name">
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.
HistoryColdFusion
MX 7.01: Added cids query variable.
ColdFusion MX 6.1:
Added support for multipart mail messages with Text and HTML
parts.
Changed the attachment name separator: the TAB character
is now the separator between attachment names in the attachments and attachmentfiles query
fields if a message has multiple attachments. This behavior is identical
to ColdFusion 5 and earlier versions.
ColdFusion
MX: Changed the attachment name separator: the comma separates names
in the attachments and attachmentfiles query
fields if a message has multiple attachments.
Attributes
Attribute
|
Req/Opt
|
Default
|
Description
|
server
|
Required
|
|
POP server identifier:
A host name, for example, "biff.upperlip.com".
An IP address, for example, "192.1.2.225".
|
action
|
Optional
|
getHeaderOnly
|
getHeaderOnly: returns message
header information only
getAll: returns message header information, message text,
and attachments if attachmentPath is specified
delete: deletes messages on POP server
|
attachmentPath
|
Optional
|
|
If action="getAll", specifies
a directory in which to save any attachments. If the directory does
not exist, ColdFusion creates it.
If you omit this attribute,
ColdFusion does not save any attachments. If you specify a relative
path, the path root is the ColdFusion temporary directory, which
is returned by the GetTempDirectory function.
|
debug
|
Optional
|
no
|
yes: sends debugging
output to standard output. By default, if the console window is
unavailable on server configurations, ColdFusion sends output to
cf_root/runtime/logs/coldfusion-out.log. On J2EE configurations, with
JRun, the default location is jrun_home/logs/servername‑out.log. Caution:
If you set this option to Yes, ColdFusion writes detailed debugging
information to the log, including all retrieved message contents,
and can generate large logs quickly.
no: does not generate debugging output.
|
generateUniqueFilenames
|
Optional
|
no
|
|
maxRows
|
Optional
|
Retrieves all
available rows
|
Number of messages to return or delete,
starting with the number in startRow. Ignored if messageNumber or uid is
specified.
|
messageNumber
|
|
|
Message number or comma-separated list of
message numbers to get or delete. Invalid message numbers are ignored.
Ignored
if uid is specified.
|
name
|
Required if action="getAll" or "getHeaderOnly"
|
|
Name for query object that contains the
retrieved message information.
|
password
|
Optional
|
|
Password that corresponds to username.
|
port
|
Optional
|
110
|
POP port.
|
startRow
|
Optional
|
1
|
First row number to get or delete. Ignored
if messageNumber or uid is specified.
|
timeout
|
Optional
|
60
|
Maximum time, in seconds, to wait for mail
processing.
|
uid
|
|
|
UID or a comma-separated list of UIDs to
get or delete. Invalid UIDs are ignored.
|
username
|
Optional
|
|
A user name.
|
UsageThe cfpop tag
retrieves one or more mail messages from a POP server and populates
a ColdFusion query object with the resulting messages, one message per
row. Alternatively, it deletes one or more messages from the POP
server.
Note: When the cfpop tag
encounters malformed mail messages, it does not generate errors;
instead, it returns empty fields.
To optimize performance,
two retrieve options are available. Message header information is
typically short, and therefore quick to transfer. Message text and attachments
can be long, and therefore take longer to process.
Attachmentpath attributeUse the following syntax to specify an in-memory
directory in the attachmentpath attribute. In-memory
files speed processing of transient data.
ram:///path
The
path can include multiple directories, for example ram:///petStore/mail/attachments You
must create the directories in the path before you specify the file.
For more information on using in-memory files, see Working
with in-memory files in the Developing ColdFusion Applications.
The cfpop query variablesThe following table describes the
variables that provide information about the query that is returned
by cfpop:
Variable names
|
Description
|
queryname.recordCount
|
Number of records returned by query.
|
queryname.currentRow
|
Current row that cfoutput is
processing.
|
queryname.columnList
|
List of column names in query.
|
Query message header and body columnsThe following table lists
the message header and body columns that are returned if action =
"getHeaderOnly" or "getAll":
Column name
|
getHeaderOnly returns
|
getAll returns
|
queryname.date
|
yes
|
yes
|
queryname.from
|
yes
|
yes
|
queryname.messagenumber
|
yes
|
yes
|
queryname.messageid
|
yes
|
yes
|
queryname.replyto
|
yes
|
yes
|
queryname.subject
|
yes
|
yes
|
queryname.cc
|
yes
|
yes
|
queryname.to
|
yes
|
yes
|
queryname.body
|
no
|
yes
|
queryname.textBody
|
no
|
yes
|
queryname.HTMLBody
|
no
|
yes
|
queryname.header
|
yes
|
yes
|
queryname.attachments
|
no
|
yes
|
queryname.attachmentfiles
|
no
|
yes
|
queryname.UID
|
yes
|
yes
|
queryname.cids
|
no
|
yes
|
If the mail message includes a part with
a Content-Type of text/plain, the queryname.textBody column contains
the part’s message content. If the mail message includes a part
with a Content-Type of text/HTML, the queryname.HTMLBody column
contains the part’s message content. If no Content-Type matches
these types, the columns are empty. The queryname.Body column always
contains the first message body found.
The queryname.attachments
column contains a tab-separated list of all the attachment names.
The queryname.attachmentfiles column contains a tab-separated list
of the locations of the attachment files. Use the cffile tag
to delete these temporary files when you have processed them.
To
create a ColdFusion date/time object from the date-time string that
is extracted from a mail message in the queryname.date column, use
the following table:
Locale
|
How to create a ColdFusion date/time object
from queryname.date
|
English (US)
|
Use the ParseDateTime function. If
you specify the pop-conversion attribute, the function
adjusts the date/time object to UTC.
|
Other
|
Extract the date part of string; pass it
to the LSParseDateTime function.
|
Note: To set the default display
format of date, time, number, and currency values, use the SetLocale function.
For
more information on cfpop, see Sending
and Receiving E-Mail in the Developing ColdFusion Applications.
Example<!--- This view-only example shows the use of cfpop. --->
<h3>cfpop Example</h3>
<p>cfpop lets you retrieve and manipulate mail in a POP3 mailbox.
This view-only example shows how to create one feature of
a mail client, to display the mail headers in a POP3 mailbox.
<p>To execute this, un-comment this code and run with a mail-enabled CF Server.
<!---
<cfif IsDefined("form.server")>
<!--- Make sure server, username are not empty. --->
<cfif form.server is not "" and form.username is not "">
<cfpop server = "#form.popserver# " username = #form.username# password = #form.pwd#
action = "getHeaderOnly" name = "GetHeaders ">
<h3>Message Headers in Your Inbox</h3>
<p>Number of Records:
<cfoutput>#GetHeaders.recordCount#</cfoutput></p>
<ul>
<cfoutput query = "GetHeaders">
<li>Row: #currentRow#: From: #From# -- Subject: #Subject#
</cfoutput>
</ul>
</cfif>
</cfif>
<form action = "cfpop.cfm " method = "post">
<p>Enter your mail server:</p>
<p><input type = "Text" name = "popserver"></p>
<p>Enter your username:</p>
<p><input type = "Text" name = "username"></p>
<p>Enter your password:</p>
<p><input type = "password" name = "pwd"></p>
<p><input type = "Submit" name = "get message headers"></p>
</form>
--->
|
|
|