Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
|
Delete IMAP Email
C++ code to delete email from an IMAP mailbox. // The Chilkat IMAP library is also available as an ActiveX component
// or .NET class with the identical set of methods and properties.
// Delete email from an IMAP mailbox
void ImapExample(void)
{
CkImap imap;
// Any string passed to UnlockComponent automatically begins the 30-day trial.
if (!imap.UnlockComponent("30-day trial"))
{
printf("Failed to unlock component\n");
imap.SaveLastError("errorLog.xml");
return;
}
// Connect to the IMAP server.
if (!imap.Connect("localhost"))
{
printf("Failed to connect to IMAP server\n");
imap.SaveLastError("errorLog.xml");
return;
}
// Login to the IMAP server.
if (!imap.Login("chilkat","chilkat"))
{
printf("Failed to login to IMAP server\n");
imap.SaveLastError("errorLog.xml");
return;
}
imap.SelectMailbox("Inbox");
// Get a message set containing all the message IDs
// in the selected mailbox.
CkMessageSet *msgSet = 0;
msgSet = imap.Search("ALL",true);
// Fetch all the mail headers into a bundle object.
CkEmailBundle *bundle = 0;
bundle = imap.FetchHeaders(*msgSet);
if (!bundle)
{
printf("Failed to fetch bundle\n");
imap.SaveLastError("errorLog.xml");
return;
}
delete msgSet;
// Loop over the bundle and mark for deletion all emails with "#SPAM#" in the subject
CkEmail *email = 0;
int i;
CkString strSubject;
for (i=0; i<bundle->get_MessageCount(); i++)
{
email = bundle->GetEmail(i);
if (!email) continue;
email->get_Subject(strSubject);
if (strSubject.containsSubstring("#SPAM#"))
{
imap.SetMailFlag(*email,"Deleted",1);
printf("DELETING: %s\n",strSubject.getString());
}
delete email;
}
// Expunge the marked emails from the mailbox.
imap.Expunge();
delete bundle;
// Disconnect from the IMAP server.
imap.Logout();
imap.Disconnect();
return;
}
|
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2008 Chilkat Software, Inc. All Rights Reserved.