Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PureBasic) Download POP3 Email using UIDLsDemonstrates how to download POP3 email by first getting the complete set of UIDLs and then downloading email by calling FetchEmail for each UIDL. This is equivalent to calling CopyMail, except your application can process each email as it arrives instead of waiting for the entire bundle to be downloaded. Also, it's better protection against potential out-of-memory issues if your mailbox has a very large number of messages. There is no performance difference between fetching emails individually vs. calling CopyMail.
IncludeFile "CkMailMan.pb" IncludeFile "CkEmail.pb" IncludeFile "CkStringArray.pb" Procedure ChilkatExample() ; This example requires the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. ; The mailman object is used for receiving (POP3) ; and sending (SMTP) email. mailman.i = CkMailMan::ckCreate() If mailman.i = 0 Debug "Failed to create object." ProcedureReturn EndIf ; Set the POP3 server's hostname CkMailMan::setCkMailHost(mailman, "pop.someMailServer.com") ; Set the POP3 login/password. CkMailMan::setCkPopUsername(mailman, "myLogin") CkMailMan::setCkPopPassword(mailman, "myPassword") sa.i = CkMailMan::ckGetUidls(mailman) If CkMailMan::ckLastMethodSuccess(mailman) <> 1 Debug CkMailMan::ckLastErrorText(mailman) CkMailMan::ckDispose(mailman) ProcedureReturn EndIf i.i = 0 n.i = CkStringArray::ckCount(sa) uidl.s While i < n uidl = CkStringArray::ckGetString(sa,i) email.i = CkMailMan::ckFetchEmail(mailman,uidl) If CkMailMan::ckLastMethodSuccess(mailman) <> 1 Debug CkMailMan::ckLastErrorText(mailman) CkStringArray::ckDispose(sa) CkMailMan::ckDispose(mailman) ProcedureReturn EndIf Debug "From: " + CkEmail::ckFrom(email) Debug "Subject: " + CkEmail::ckSubject(email) CkEmail::ckDispose(email) i = i + 1 Wend CkStringArray::ckDispose(sa) CkMailMan::ckPop3EndSession(mailman) CkMailMan::ckDispose(mailman) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.