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) 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.)
Use ChilkatAx-win32.pkg Procedure Test Handle hoImap Boolean iSuccess Boolean iBUid String sMimeStr Integer i Integer n Variant vEmail Handle hoEmail String sTemp1 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.someMailServer.com" To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoImap To sTemp1 Showln sTemp1 Procedure_Return End // Login Get ComLogin Of hoImap "myLogin" "myPassword" 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 // 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: For i From 1 To n // Download the email by sequence number. Get ComFetchSingle Of hoImap i iBUid To vEmail If (IsComObject(vEmail)) Begin Get Create (RefClass(cComChilkatEmail)) To hoEmail Set pvComObject Of hoEmail To vEmail End // ... your application may process the email object... Send Destroy of hoEmail Loop // Disconnect from the IMAP server. Get ComDisconnect Of hoImap To iSuccess End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.