POP CFC (Active)
Project Home • Known Issues • Contact Project
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.
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.
To enter issues for this (or any other) project, you must be logged in.
Adobe and the Adobe product names are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries.