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
(C) IMAP Copy Email from Selected Folder to Another FolderCopies an email from the selected mailbox (folder) to another mailbox (folder).
#include <C_CkImap.h> #include <C_CkMessageSet.h> void ChilkatSample(void) { HCkImap imap; BOOL success; BOOL fetchUids; HCkMessageSet messageSet; // 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. imap = CkImap_Create(); // Turn on session logging for debugging. CkImap_putKeepSessionLog(imap,TRUE); // Connect using TLS. CkImap_putSsl(imap,TRUE); CkImap_putPort(imap,993); success = CkImap_Connect(imap,"imap.example.com"); if (success != TRUE) { printf("%s\n",CkImap_lastErrorText(imap)); CkImap_Dispose(imap); return; } // Authenticate success = CkImap_Login(imap,"email_account_login","email_account_password"); if (success != TRUE) { printf("%s\n",CkImap_lastErrorText(imap)); CkImap_Dispose(imap); return; } // Select an IMAP mailbox success = CkImap_SelectMailbox(imap,"Inbox"); if (success != TRUE) { printf("%s\n",CkImap_lastErrorText(imap)); CkImap_Dispose(imap); return; } // Search for messages having "Test email" in the subject. fetchUids = TRUE; messageSet = CkImap_Search(imap,"SUBJECT \"Test email\"",fetchUids); if (CkImap_getLastMethodSuccess(imap) != TRUE) { printf("%s\n",CkImap_lastErrorText(imap)); CkImap_Dispose(imap); return; } // Assuming we have 1 or more messages in the set, copy the 1st one to the folder "Inbox.testFolder" if (CkMessageSet_getCount(messageSet) > 0) { success = CkImap_Copy(imap,CkMessageSet_GetId(messageSet,0),CkMessageSet_getHasUids(messageSet),"Inbox/testFolder"); if (success != TRUE) { printf("%s\n",CkImap_lastErrorText(imap)); } } CkMessageSet_Dispose(messageSet); printf("%s\n",CkImap_sessionLog(imap)); printf("OK\n"); // Sample sessiong log: // ----INFO---- // Connecting to IMAP server at outlook.office365.com:993 // ----IMAP RESPONSE---- // * OK The Microsoft Exchange IMAP4 service is ready. [QgBMADAAUABSADAAMQAwADIAQwBBADAAMAA3ADAALgBwAHIAbwBkAC4AZQB4AGMAaABhAG4AZwBlAGwAYQBiAHMALgBjAG8AbQA=] // ----IMAP REQUEST---- // aaab LOGIN "chilkat@live.com" // ----IMAP RESPONSE---- // aaab OK LOGIN completed. // ----IMAP REQUEST---- // aaac SELECT "Inbox" // ----IMAP RESPONSE---- // * 28 EXISTS // * 0 RECENT // * FLAGS (\Seen \Answered \Flagged \Deleted \Draft $MDNSent) // * OK [PERMANENTFLAGS (\Seen \Answered \Flagged \Deleted \Draft $MDNSent)] Permanent flags // * OK [UNSEEN 23] Is the first unseen message // * OK [UIDVALIDITY 14] UIDVALIDITY value // * OK [UIDNEXT 6416] The next unique identifier value // aaac OK [READ-WRITE] SELECT completed. // ----IMAP REQUEST---- // aaad UID SEARCH SUBJECT "Test email" // ----IMAP RESPONSE---- // * SEARCH 6414 // aaad OK SEARCH completed. // ----IMAP REQUEST---- // aaae UID COPY 6414 "Inbox/testFolder" // ----IMAP RESPONSE---- // aaae OK [COPYUID 180 6414 1] COPY completed. // // OK CkImap_Dispose(imap); } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.