![]() |
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
(Tcl) IMAP Copy Email from Selected Folder to Another FolderCopies an email from the selected mailbox (folder) to another mailbox (folder).
load ./chilkat.dll # 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. set imap [new_CkImap] # Turn on session logging for debugging. CkImap_put_KeepSessionLog $imap 1 # Connect using TLS. CkImap_put_Ssl $imap 1 CkImap_put_Port $imap 993 set success [CkImap_Connect $imap "imap.example.com"] if {$success != 1} then { puts [CkImap_lastErrorText $imap] delete_CkImap $imap exit } # Authenticate set success [CkImap_Login $imap "email_account_login" "email_account_password"] if {$success != 1} then { puts [CkImap_lastErrorText $imap] delete_CkImap $imap exit } # Select an IMAP mailbox set success [CkImap_SelectMailbox $imap "Inbox"] if {$success != 1} then { puts [CkImap_lastErrorText $imap] delete_CkImap $imap exit } # Search for messages having "Test email" in the subject. set fetchUids 1 # messageSet is a CkMessageSet set messageSet [CkImap_Search $imap "SUBJECT \"Test email\"" $fetchUids] if {[CkImap_get_LastMethodSuccess $imap] != 1} then { puts [CkImap_lastErrorText $imap] delete_CkImap $imap exit } # Assuming we have 1 or more messages in the set, copy the 1st one to the folder "Inbox.testFolder" if {[CkMessageSet_get_Count $messageSet] > 0} then { set success [CkImap_Copy $imap [CkMessageSet_GetId $messageSet 0] [CkMessageSet_get_HasUids $messageSet] "Inbox/testFolder"] if {$success != 1} then { puts [CkImap_lastErrorText $imap] } } delete_CkMessageSet $messageSet puts [CkImap_sessionLog $imap] puts "OK" # 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 delete_CkImap $imap |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.