![]() |
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) IMAP Download All Email One at a TimeDemonstrates how to download every email in an IMAP mailbox one at a time as a MIME string or as an email object. (The MIME contains the full contents of the email including all attachments.) Note: This example requires Chilkat v11.0.0 or greater.
Use ChilkatAx-win32.pkg Procedure Test Boolean iSuccess Handle hoImap Boolean iBUid String sMimeStr Integer i Integer n Variant vEmail Handle hoEmail String sTemp1 Move False To iSuccess Get Create (RefClass(cComChilkatImap)) To hoImap If (Not(IsComObjectCreated(hoImap))) Begin Send CreateComObject of hoImap End // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // Connect to an IMAP server. // Use 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 // Login Get ComLogin Of hoImap "myLogin" "myPassword" 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 // Once the mailbox is selected, the NumMessages property // will contain the number of messages in the mailbox. // You may loop from 1 to NumMessages to // fetch each message by sequence number. Move False To iBUid Get ComNumMessages Of hoImap To n For i From 1 To n // Download the email by sequence number. Get ComFetchSingleAsMime Of hoImap i iBUid To sMimeStr // ... your application may process each MIME string... Loop // An alternative is to download each email in the form of an // email object, like this: Get Create (RefClass(cComChilkatEmail)) To hoEmail If (Not(IsComObjectCreated(hoEmail))) Begin Send CreateComObject of hoEmail End For i From 1 To n // Download the email by sequence number. Get pvComObject of hoEmail to vEmail Get ComFetchEmail Of hoImap False i iBUid vEmail To iSuccess // ... your application may process the email object... Loop // Disconnect from the IMAP server. Get ComDisconnect Of hoImap To iSuccess End_Procedure |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.