![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(DataFlex) How to Download Messages in MessageSet One at a TimeIf a message set contains a huge number of emails, it's NOT a good idea to try to download all at once into an email bundle using a method such as FetchBundle. It's better to iterate over the messages in the set to download one by one. Note: This example requires Chilkat v11.0.0 or greater.
Use ChilkatAx-win32.pkg Procedure Test Boolean iSuccess Handle hoImap Boolean iFetchUids Variant vMessageSet Handle hoMessageSet Variant vEmail Handle hoEmail Integer i String sTemp1 String sTemp2 Integer iTemp1 Move False To iSuccess // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. Get Create (RefClass(cComChilkatImap)) To hoImap If (Not(IsComObjectCreated(hoImap))) Begin Send CreateComObject of hoImap End // Connect using TLS. Set ComSsl Of hoImap To True Set ComPort Of hoImap To 993 Get ComConnect Of hoImap "imap.example.com" To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoImap To sTemp1 Showln sTemp1 Procedure_Return End // Authenticate Get ComLogin Of hoImap "email_account_login" "email_account_password" To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoImap To sTemp1 Showln sTemp1 Procedure_Return End // Select an IMAP mailbox Get ComSelectMailbox Of hoImap "Inbox" To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoImap To sTemp1 Showln sTemp1 Procedure_Return End // Search for messages and return a set of matching messages. // (This example will simply search for ALL messages.) Move True To iFetchUids Get Create (RefClass(cComChilkatMessageSet)) To hoMessageSet If (Not(IsComObjectCreated(hoMessageSet))) Begin Send CreateComObject of hoMessageSet End Get pvComObject of hoMessageSet to vMessageSet Get ComQueryMbx Of hoImap "ALL" iFetchUids vMessageSet To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoImap To sTemp1 Showln sTemp1 Procedure_Return End Get ComCount Of hoMessageSet To iTemp1 Showln "Number of messages = " iTemp1 Get Create (RefClass(cComChilkatEmail)) To hoEmail If (Not(IsComObjectCreated(hoEmail))) Begin Send CreateComObject of hoEmail End Move 0 To i While (i < (ComCount(hoMessageSet))) Get ComGetId Of hoMessageSet i To iTemp1 Get pvComObject of hoEmail to vEmail Get ComFetchEmail Of hoImap False iTemp1 iFetchUids vEmail To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoImap To sTemp1 Showln sTemp1 Procedure_Return End Get ComFrom Of hoEmail To sTemp1 Get ComSubject Of hoEmail To sTemp2 Showln sTemp1 "; " sTemp2 Move (i + 1) To i Loop Showln "OK" End_Procedure |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.