Tel: 01455 447501

NEW MEDIA DEVELOPMENT

Featured Sites

  • Screenshot of the Early Learning Centre jobs website

The Early Learning Centre career site uses HR-XML to import vacancies directly from the Mothercare Group recruitment systems for instant publication.

Affiliations

  • Guild of Accessible Web Designers Logo
  • UK Web Design Association Logo
  • webmasters lookup logo
  • Nominet logo
  • Centralnic logo
  • Melbourne IT logo

 

 

New Media FAQ

Please select the section of the FAQ that is most relevant to your needs.

CFX_POP3 support

Common questions regarding CFX_POP3 that can be solved relatively quickly.

Q1:
Why is my query returning blank content for some e-mails?
 
A1:

This is an issue with missing codepage translation tables on the server. When CFX tag translates e-mails from the codepage it was sent in to the codepage you have specified in the tag for use within ColdFusion (usually non-UTF-8 to UTF-8), it attempts to do this through the Windows API.

If the codepage that the e-mail is using isn't installed on your server, the Windows API returns an empty string. For the widest possible support for e-mails using different codepages, install all the codepage conversion tables on the server to ensure that the CFX tag has access to every codepage that Windows supports.

Codepage conversion tables screenshot

Once the codepage tables are installed, add the attribute CHARSET="utf-8" in the calls to CFX_POP3 on CFMX servers to tell CFX_POP3 to translate all e-mail content into utf-8.

 
 
Q2:

I'm trying to delete loads of e-mails as I'm looping over them but CFX_POP3 only seems to be deleting some of the mails! Why is this and is there a better way to handle deletes?

 
A2:

Every time you use CFX_POP3 within a page, it is a separate call to your mail server. If you have 5 messages on your server, when you connect they will be marked as message numbers 1, 2, 3, 4 and 5 respectively. Because of the way POP3 works, if you delete message 1, the remaining mails will be renumbered 1, 2, 3 and 4 when CFX_POP3 disconnects. Therefore, by the time you reach message 5, it is no longer there as it has been re-sorted and is now message number 4. What is worse is that if you receive a message after the first delete action, that new message will be numbered message 5 which means you would delete that new message without processing it at all.

There are two ways to solve this issue, the first is to use UID values for deletion rather than message numbers. By deleting using a UID, you are guaranteed to delete the correct e-mail regardless of any message number sort processes that may run. An alternative method is to process your e-mails and comple a list of message numbers for deletion. Then, pass the message number list to CFX_POP3 so that it can delete all of the mails in one sitting. You can also pass in a list of UID values if you so choose.

 
 
Q3:
I'm seeing "Receive Timeout. No Data Available." errors in CFX_POP3. Do you have any ideas?
 
A3:
This is usually down to mail servers not using blocking sockets on a protocol that requires a blocking socket implementation. CFX_POP3 has two socket implementations built in and you can switch between them if you are seeing this problem by adding the flag NEWSOCKETS to the tag calls.
 
 
Q4:
Deleting e-mails by UID in CFX_POP3 or CFX_IMAP4 doesn't appear to be working. What should I do?
 
A4:

This is most commonly down to the fact that some mail servers return UID values that contain the ',' character. Change your list delimiter when compiling the list of UID values to delete and specify the list delimiter you choose when calling the tag. 

 
 
Q5:

Why wont CFX_POP3 Pro return any messages from GMail when I know there are hundreds of mails in the account?

 
A5:

The GMail POP service does not operate in the same manner as a true POP3 server and has a few quirks in its functionality. When you access an e-mail through the GMail interface, it is marked internally by the GMail service as being read which pseudo deletes the mail from the GMail POP service. The mail still exists within GMail and you can make it available to the POP service again by resetting the POP settings in your GMail account under the Forwarding and POP settings tab in your account settings area.

*** UPDATE ***

There is now a way to access the last 30 days of e-mails received by GMail without having to reset the POP settings in your GMail account.

To do this, you can used the "recent" command to get the last 30 days of received email. Replace 'username@gmail.com' in CFX_POP3 username attribute with 'recent:username@gmail.com' to allow you to retrieve e-mails more than once.