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).
import sys import chilkat # The mailman object is used for receiving (POP3) # and sending (SMTP) email. mailman = chilkat.CkMailMan() # Any string argument automatically begins the 30-day trial. success = mailman.UnlockComponent("30-day trial") if (success != True): print "Component unlock failed" sys.exit() # 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. sa = mailman.GetUidls() numEmails = sa.get_Count() # Download the emails in chunks of 10 emails each. chunkBeginIdx = 0 chunkEndIdx = 9 if (chunkEndIdx >= numEmails): chunkEndIdx = numEmails - 1 saChunk = chilkat.CkStringArray() while (chunkEndIdx < (numEmails - 1)) : # Build a chunk of 10 UIDLs. saChunk.Clear() for i in range(chunkBeginIdx,(chunkEndIdx)-1): saChunk.Append(sa.GetString(i)) # Display the UIDLs in this chunk... chunkStr = saChunk.saveToText() print chunkStr print "----" + "\n" # Download this chunk of email from the POP3 server. bundle = mailman.FetchMultiple(saChunk) if (bundle == None ): print mailman.lastErrorText() sys.exit() # Process the bundle... # (your application's processing code goes here...) # Get the next chunk... chunkBeginIdx += 10 if (chunkBeginIdx >= numEmails): break chunkEndIdx += 10 if (chunkEndIdx >= numEmails): chunkEndIdx = numEmails - 1 |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2008 Chilkat Software, Inc. All Rights Reserved.