Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
|
Process Large POP3 MailboxDemonstrates how to read email from a mailbox that may contain a large number of emails (on the order of thousands of emails or more).
#include <CkMailMan.h> #include <CkStringArray.h> #include <CkString.h> #include <CkEmailBundle.h> void ChilkatSample(void) { // The mailman object is used for receiving (POP3) // and sending (SMTP) email. CkMailMan mailman; // Any string argument automatically begins the 30-day trial. bool success; success = mailman.UnlockComponent("30-day trial"); if (success != true) { printf("Component unlock failed\n"); return; } // Set the POP3 server's hostname mailman.put_MailHost("mail.chilkatsoft.com"); // Set the POP3 login/password. mailman.put_PopUsername("myLogin"); mailman.put_PopPassword("myPassword"); // First, get the list of UIDLs for all emails in the mailbox. CkStringArray *sa = 0; sa = mailman.GetUidls(); int i; int numEmails; numEmails = sa->get_Count(); // Download the emails in chunks of 10 emails each. int chunkBeginIdx; chunkBeginIdx = 0; int chunkEndIdx; chunkEndIdx = 9; if (chunkEndIdx >= numEmails) { chunkEndIdx = numEmails - 1; } CkStringArray saChunk; while ((chunkEndIdx < (numEmails - 1))) { // Build a chunk of 10 UIDLs. saChunk.Clear(); for (i = chunkBeginIdx; i <= chunkEndIdx; i++) { saChunk.Append(sa->GetString(i)); } // Display the UIDLs in this chunk... CkString chunkStr; chunkStr = saChunk.saveToText(); printf("%s\n",(const char *)chunkStr); printf("----\n\n"); // Download this chunk of email from the POP3 server. CkEmailBundle *bundle = 0; bundle = mailman.FetchMultiple(saChunk); if (bundle == 0 ) { printf("%s\n",mailman.lastErrorText()); return; } // Process the bundle... // (your application's processing code goes here...) delete bundle; // Get the next chunk... chunkBeginIdx += 10; if (chunkBeginIdx >= numEmails) { break; } chunkEndIdx += 10; if (chunkEndIdx >= numEmails) { chunkEndIdx = numEmails - 1; } } delete sa; } |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2008 Chilkat Software, Inc. All Rights Reserved.