Sample code for 30+ languages & platforms
Unicode C

Count the Attachments in an Email

See more Email Object Examples

Demonstrates the read-only Chilkat Email.NumAttachments property, which is the number of ordinary attachments in the email. Attachment indexes are zero-based. Related resources inside a multipart/related enclosure are counted separately by NumRelatedItems, and embedded message/rfc822 emails by NumAttachedMessages. This example adds two attachments and prints the count.

Background: An "attachment" is a MIME part meant to be saved or opened as a separate file, as opposed to being displayed as the message body. Chilkat decides whether a part is an attachment by weighing its MIME structure, content type, and Content-Disposition together — so a part can count as an attachment even without an explicit Content-Disposition: attachment header. Note that if an email was downloaded from an IMAP server without its attachment data, this property reflects only what is actually present in the object.

Chilkat Unicode C Downloads

Unicode C
#include <C_CkEmailW.h>

void ChilkatSample(void)
    {
    HCkEmailW email;

    //  Demonstrates the read-only Email.NumAttachments property, which is the number
    //  of ordinary attachments contained in the email.  Attachment indexes are zero-based.

    email = CkEmailW_Create();
    CkEmailW_putSubject(email,L"Email with attachments");
    CkEmailW_putBody(email,L"Two files are attached.");

    //  Add two string attachments.
    CkEmailW_AddStringAttachment(email,L"readme.txt",L"This is the first attachment.");
    CkEmailW_AddStringAttachment(email,L"notes.txt",L"This is the second attachment.");

    wprintf(L"NumAttachments = %d\n",CkEmailW_getNumAttachments(email));


    CkEmailW_Dispose(email);

    }