Sample code for 30+ languages & platforms
Perl

Download MIME Source of Emails in IMAP Mailbox

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

Chilkat Perl Downloads

Perl
use chilkat();

$success = 0;

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

$imap = chilkat::CkImap->new();

# Connect to an IMAP server.
# Use TLS
$imap->put_Ssl(1);
$imap->put_Port(993);
$success = $imap->Connect("imap.example.com");
if ($success == 0) {
    print $imap->lastErrorText() . "\r\n";
    exit;
}

# Login
$success = $imap->Login("myLogin","myPassword");
if ($success == 0) {
    print $imap->lastErrorText() . "\r\n";
    exit;
}

# Select an IMAP mailbox
$success = $imap->SelectMailbox("Inbox");
if ($success == 0) {
    print $imap->lastErrorText() . "\r\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." . "\r\n";
    exit;
}

$sbMime = chilkat::CkStringBuilder->new();

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

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

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