Programming Examples

ChilkatHOMEASPVisual BasicVB.NETC#CC++MFCDelphiFoxProJavaPerlPythonRubySQL ServerVBScript

PHP ActiveX Examples

Bounced Mail
Bz2
Certificates/Keys
Charset
CSV
DKIM / DomainKey
Diffie-Hellman
DSA
Email Object
Encryption
FileAccess
FTP
HTML Conversion
HTTP
IMAP
MHT / HTML Email
MIME
NTLM
POP3
RSA
SMTP
Socket
Spider
SSH Key
SSH
SSH Tunnel
SFTP
Tar
Upload
XML
Zip
Amazon S3


 

 

 

 

 

 

 

 

Read IMAP Email Headers

Call FetchHeaders to download only the email headers.

Download 32-bit Chilkat IMAP ActiveX (.msi)

Download All 32-bit Chilkat ActiveX Components (.zip)

Download All 64-bit Chilkat ActiveX Components (.zip)

<?php

$imap = new COM("Chilkat.Imap");

//  Anything unlocks the component and begins a fully-functional 30-day trial.
$success = $imap->UnlockComponent('Anything for 30-day trial');
if ($success != true) {
    print $imap->lastErrorText() . "\n";
    exit;
}

//  Connect to an IMAP server.
$success = $imap->Connect('mail.chilkatsoft.com');
if ($success != true) {
    print $imap->lastErrorText() . "\n";
    exit;
}

//  Login
$success = $imap->Login('****','****');
if ($success != true) {
    print $imap->lastErrorText() . "\n";
    exit;
}

//  Select an IMAP mailbox
$success = $imap->SelectMailbox('Inbox');
if ($success != true) {
    print $imap->lastErrorText() . "\n";
    exit;
}

//  We can choose to fetch UIDs or sequence numbers.
$fetchUids = true;
//  Get the message IDs of all the emails in the mailbox
// messageSet is a Chilkat.MessageSet
$messageSet = $imap->Search('ALL',$fetchUids);
if (is_null($messageSet)) {
    print $imap->lastErrorText() . "\n";
    exit;
}

//  When downloading headers, each email object contains
//  (obviously) the headers, but the body will be missing.
//  Also, attachments will not be included.  However, it is
//  possible to get information about the attachments
//  as well as the complete size of the email.

// bundle is a Chilkat.EmailBundle2
$bundle = $imap->FetchHeaders($messageSet);
if (is_null($bundle)) {

    print $imap->lastErrorText() . "\n";
    exit;
}

//  Loop over the email objects and display information
//  about each:

for ($i = 0; $i <= $bundle->MessageCount - 1; $i++) {

    // email is a Chilkat.Email2
    $email = $bundle->GetEmail($i);

    //  Display the From and Subject
    print $email->from() . "\n";
    print $email->subject() . "\n";

    //  Display the recipients:

    for ($j = 0; $j <= $email->NumTo - 1; $j++) {
        $name = $email->getToName($j);
        $addr = $email->getToAddr($j);
        print $name . ', ' . $addr . "\n";
    }

    for ($j = 0; $j <= $email->NumCC - 1; $j++) {
        $name = $email->getCcName($j);
        $addr = $email->getCcAddr($j);
        print $name . ', ' . $addr . "\n";
    }

    //  Show the total size of the email, including body and attachments:
    print $email->Size . "\n";

    //  When a full email is downloaded, we would use the
    //  email.NumAttachments property in conjunction with the
    //  email.GetMailAttach* methods.
    //  However, when an email object contains only the header,
    //  we need to access the attachment info differently:
    $numAttach = $imap->GetMailNumAttach($email);
    for ($j = 0; $j <= $numAttach - 1; $j++) {
        print $imap->getMailAttachFilename($email,$j) . "\n";
        $attachSize = $imap->GetMailAttachSize($email,$j);
        print '    size = ' . $attachSize . ' bytes' . "\n";
    }

    print '--' . "\n";

}

//  Disconnect from the IMAP server.
$imap->Disconnect();


?>

Need a specific example? Send a request to support@chilkatsoft.com

© 2000-2010 Chilkat Software, Inc. All Rights Reserved.