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) Copy an Email from One Mailbox to AnotherCopies an email from one IMAP folder to another. After running this example, copies of the email will be present in both source and destination folders.
Use ChilkatAx-win32.pkg Procedure Test Handle hoImap Boolean iSuccess Variant vMessageSet Handle hoMessageSet Boolean iFetchUids Integer i Integer n Integer iMsgId Boolean iIsUid String sTemp1 Boolean bTemp1 // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // This example copies an email from one mailbox to another. Get Create (RefClass(cComChilkatImap)) To hoImap If (Not(IsComObjectCreated(hoImap))) Begin Send CreateComObject of hoImap End // Turn on session logging: Set ComKeepSessionLog Of hoImap To True // 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 "***" "***" 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.testing.a" To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoImap To sTemp1 Showln sTemp1 Procedure_Return End Move True To iFetchUids // Get the message IDs for all emails having "Re:" in the subject. Get ComSearch Of hoImap "SUBJECT Re:" 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 // Copy the messages from "Inbox.testing.a" to "Inbox.testing.b" in one call to CopyMultiple: Get ComCopyMultiple Of hoImap vMessageSet "Inbox.testing.b" To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoImap To sTemp1 Showln sTemp1 Procedure_Return End // Alternatively, loop over each message in the set and // copy each separately: Get ComCount Of hoMessageSet To n If (n > 0) Begin For i From 0 To (n - 1) Get ComGetId Of hoMessageSet i To iMsgId Get ComHasUids Of hoMessageSet To iIsUid Get ComCopy Of hoImap iMsgId iIsUid "Inbox.testing.c" To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoImap To sTemp1 Showln sTemp1 Procedure_Return End Loop End // Display the session log. Get ComSessionLog Of hoImap To sTemp1 Showln sTemp1 // Disconnect from the IMAP server. Get ComDisconnect Of hoImap To iSuccess Send Destroy of hoMessageSet End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.