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
IMAP attachment filename and size information.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 FreeBSD C++ Libraries HP-UX C++ Libraries BlackBerry QNX C++ Libraries 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;
}
|
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.