Sample code for 30+ languages & platforms
PHP

Append a MIME Message to an IMAP Mailbox

See more IMAP Examples

Demonstrates the Chilkat Imap.AppendMime method, which uploads a complete RFC 822/MIME message to a mailbox. The first argument is the destination mailbox name and the second is the MIME text. This example obtains the MIME from an Email object and uploads it to Drafts.

Background: Use AppendMime when you already hold a message's raw source — a .eml file, a message you assembled, or one you received. Chilkat sends the text exactly as supplied, without normalizing line endings or re-encoding headers, so every header and MIME boundary is preserved verbatim. The supplied text must be plain text (no raw non-text binary bytes).

Chilkat PHP Downloads

Chilkat2 PHP
<?php

use Chilkat2\Email;
use Chilkat2\Imap;

// Demonstrates the Imap.AppendMime method, which uploads a complete MIME message to a mailbox.
// The 1st argument is the destination mailbox name and the 2nd is the MIME text.

$imap = new Imap();

$imap->Ssl = true;
$imap->Port = 993;

try {
    $imap->Connect('imap.example.com');

    $imap->Login('user@example.com', 'myPassword');

    // Build the email to be uploaded.
    $email = new Email();
    $email->Subject = 'Meeting agenda';
    $email->From = 'Alice <alice@example.com>';
    $email->AddTo('Bob', 'bob@example.com');
    $email->Body = 'Let\'s meet at 10am to review the agenda.';

    // Obtain the MIME text to upload.  Here it is generated from the Email, but it could equally
    // be read from a .eml file.
    $mimeText = $email->GetMime();

    // Append (upload) the MIME to the "Drafts" mailbox.
    $imap->AppendMime('Drafts', $mimeText);
} catch (\Chilkat2\Exception $e) {
    echo $e->getMessage(), "\n";
    exit;
}

echo 'Appended UID: ', $imap->AppendUid, "\n";

try {
    $imap->Disconnect();
} catch (\Chilkat2\Exception $e) {
    echo $e->getMessage(), "\n";
    exit;
}