Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
|
IMAP attachment filename and size information. C++ code to report attachment filenames and sizes for email in 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.
// Read IMAP mail headers and print attachment filename and size information.
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 emails.
int i;
for (i=0; i<bundle->get_MessageCount(); i++)
{
CkEmail *email = bundle->GetEmail(i);
if (!email) continue;
// Do not use email->NumAttachments here, because we retrieved the headers
// only. NumAttachments only applies if we retrieved the entire email.
// Instead, use imap.GetMailNumAttach
int numAttachments = imap.GetMailNumAttach(*email);
int j;
CkString strFilename;
for (j=0; j<numAttachments; j++)
{
// Get the attachment filename and size.
imap.GetMailAttachFilename(*email,j,strFilename);
printf("filename: %s (%d bytes)\n",strFilename.getString(),
imap.GetMailAttachSize(*email,j));
}
delete email;
}
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.