Managed Hosting



Project Home Known Issues Contact Project

Author: Paul Vernon (All RIAForge projects by this author)
Last Updated: January 15, 2017 1:23 PM
Version: 1.91
Views: 69,679
Downloads: 1,588
License: Mozilla Public License


This project is born out of the fact that the tag CFX_POP3 is getting old and is only supported on 32-bit CF installations on Windows.

I'm attempting to build a CFC that has much of the functionality and performance of CFX_POP3.

The initial project adds functions such as hasMail(), getUIDList() and getMessageCount().

The CFC can also open RFC2822 compliant e-mails from files and parses the e-mail returning a query like CFPOP.

v1.3 added support to handle oddly formatted dates converting them into CF dates using the function parseRFCDateToCFDate.

v1.4 added support for the pop3 LIST command with the functions list() and listByUID().

SSL support is also built into the CFC for most functions.

v1.5 added the getRawMessageHeadersByUID, parseRawHeaders and parseRawMessages.

Re-factored loadFromFile to use parseRawMessages.

Using these functions along with getRawMessageByUID enables developers to bypass CFPOP entirely. This is useful when CFPOP exhibits strange behaviour when downloading e-mails. e.g. where a server has , characters in its UID values, CFPOP fails to work.

Added a separator property to allow developers to specify a list delimiter that is not ","

This allows a developer to work with mail servers that use , values in their UID responses.

v1.6 fixed a bug in the parseRawMessages function to handle nested multipart mails.

v1.7 split out the content part processing from parseRawMessages and made it recursive. This allows for true n-depth nesting of e-mail content, attachments and alternative parts. Also, a bug fix parsing out the Reply-To header.

v1.8 some code tidying and adds in bugs fixes and enhancements raised by Tom Chiverton.

v1.9 added in code to decode Quoted Printable strings using the decodeString method. Also added a fix contributed by Hadyn Cotton to stop writing an extra byte at the end of files.

Last Update:

The latest update fixes the long standing SSL timeout issues and also fixes a null variable issue in Lucee/Railo


Tested on CF8.

Requires createObject for java objects to be enabled.

Issue Tracker:

13 Parsing a file return an empty Query on Lucee/Railo Fixed 01/15/17 1:25 PM
12 Socket.cfc SSL Timeout in read() Fixed 01/15/17 1:24 PM
11 Download attachment with colon (:) in the file name Closed 08/11/14 4:23 AM
6 Some times have to wait between operations Closed 07/24/13 5:19 AM
10 parseBodyPart() Can Corrupt Email Attachments Fixed 07/24/13 5:18 AM

View All Issues

To enter issues for this (or any other) project, you must be logged in.