Sample code for 30+ languages & platforms
PHP Extension

Download MIME Source of Emails in IMAP Mailbox

Demonstrates how to download the MIME source for emails on an IMAP server.

Chilkat PHP Extension Downloads

PHP Extension
<?php

include("chilkat.php");

$success = false;

// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

$imap = new CkImap();

// Connect to an IMAP server.
// Use TLS
$imap->put_Ssl(true);
$imap->put_Port(993);
$success = $imap->Connect('imap.example.com');
if ($success == false) {
    print $imap->lastErrorText() . "\n";
    exit;
}

// Login
$success = $imap->Login('myLogin','myPassword');
if ($success == false) {
    print $imap->lastErrorText() . "\n";
    exit;
}

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

// The NumMessages property contains the number of messages in the selected mailbox.
$numMessages = $imap->get_NumMessages();
if ($numMessages == 0) {
    print 'No messages exist in the Inbox.' . "\n";
    exit;
}

$sbMime = new CkStringBuilder();

for ($seqNum = 1; $seqNum <= $numMessages; $seqNum++) {
    $sbMime->Clear();
    $success = $imap->FetchSingleAsMimeSb($seqNum,false,$sbMime);
    if ($success == false) {
        print $imap->lastErrorText() . "\n";
        exit;
    }

    // The MIME source of the downloaded email is contained in sbMime.
}

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

?>