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
(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.
Use ChilkatAx-win32.pkg Procedure Test Handle hoImap Boolean iSuccess Boolean iFetchUids Variant vMessageSet Handle hoMessageSet Integer i Variant vEmail Handle hoEmail String sTemp1 String sTemp2 Integer iTemp1 Boolean bTemp1 // 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 <> True) 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 <> True) 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 <> True) 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 ComSearch Of hoImap "ALL" iFetchUids To vMessageSet If (IsComObject(vMessageSet)) Begin Get Create (RefClass(cComChilkatMessageSet)) To hoMessageSet Set pvComObject Of hoMessageSet To vMessageSet End Get ComLastMethodSuccess Of hoImap To bTemp1 If (bTemp1 <> True) Begin Get ComLastErrorText Of hoImap To sTemp1 Showln sTemp1 Procedure_Return End Get ComCount Of hoMessageSet To iTemp1 Showln "Number of messages = " iTemp1 Move 0 To i While (i < (ComCount(hoMessageSet))) Get ComGetId Of hoMessageSet i To iTemp1 Get ComFetchSingle Of hoImap iTemp1 iFetchUids To vEmail If (IsComObject(vEmail)) Begin Get Create (RefClass(cComChilkatEmail)) To hoEmail Set pvComObject Of hoEmail To vEmail End Get ComLastMethodSuccess Of hoImap To bTemp1 If (bTemp1 <> True) Begin Get ComLastErrorText Of hoImap To sTemp1 Showln sTemp1 Send Destroy of hoMessageSet Procedure_Return End Get ComFrom Of hoEmail To sTemp1 Get ComSubject Of hoEmail To sTemp2 Showln sTemp1 "; " sTemp2 Send Destroy of hoEmail Move (i + 1) To i Loop Send Destroy of hoMessageSet Showln "OK" End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.