Chilkat
HOME
Android™
ASP
Visual Basic
VB.NET
C#
iOS (IPhone)
Objective-C
C++
C
MFC
Delphi
FoxPro
Java
Perl
PHP Extension
PHP ActiveX
Python
PowerShell
Ruby
SQL Server
VBScript
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. Downloads: MS Windows Visual C/C++ Libraries Linux/CentOS C/C++ Libraries MAC OS X C/C++ Libraries Solaris C/C++ Libraries C++ Builder Libraries #include <CkImap.h> #include <CkMessageSet.h> void ChilkatSample(void) { // This example copies an email from one mailbox to another. CkImap imap; bool success; // Anything unlocks the component and begins a fully-functional 30-day trial. success = imap.UnlockComponent("Anything for 30-day trial"); if (success != true) { printf("%s\n",imap.lastErrorText()); return; } // Turn on session logging: imap.put_KeepSessionLog(true); // Connect to an IMAP server. success = imap.Connect("mail.chilkatsoft.com"); if (success != true) { printf("%s\n",imap.lastErrorText()); return; } // Login success = imap.Login("***","***"); if (success != true) { printf("%s\n",imap.lastErrorText()); return; } // Select an IMAP mailbox success = imap.SelectMailbox("Inbox.testing.a"); if (success != true) { printf("%s\n",imap.lastErrorText()); return; } CkMessageSet *messageSet = 0; bool fetchUids; fetchUids = true; // Get the message IDs for all emails having "Re:" in the subject. messageSet = imap.Search("SUBJECT Re:",fetchUids); if (messageSet == 0 ) { printf("%s\n",imap.lastErrorText()); return; } // Copy the messages from "Inbox.testing.a" to "Inbox.testing.b" in one call to CopyMultiple: success = imap.CopyMultiple(*messageSet,"Inbox.testing.b"); if (success != true) { printf("%s\n",imap.lastErrorText()); return; } // Alternatively, loop over each message in the set and // copy each separately: long i; long n; n = messageSet->get_Count(); if (n > 0) { for (i = 0; i <= n - 1; i++) { long msgId; msgId = messageSet->GetId(i); bool isUid; isUid = messageSet->get_HasUids(); success = imap.Copy(msgId,isUid,"Inbox.testing.c"); if (success != true) { printf("%s\n",imap.lastErrorText()); return; } } } // Display the session log. printf("%s\n",imap.sessionLog()); // Disconnect from the IMAP server. imap.Disconnect(); delete messageSet; } |
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.