Perl
Chilkat2 Perl
Append (Upload) an Email to an IMAP Mailbox
See more IMAP Examples
Demonstrates the Chilkat Imap.AppendMail method, which uploads an Email object to a mailbox on the server. The first argument is the destination mailbox name and the second is the Email. After a successful append, the AppendUid property holds the UID the server assigned (or 0 if none was reported). This example uploads a newly built message to the Drafts mailbox.
Background: The IMAP
APPEND command lets a client add a message directly to any mailbox without sending it through SMTP — it is how "Save to Drafts" works, and how a client keeps its own copy in Sent. The initial \Seen state is governed by the AppendSeen property (or by the flag arguments of the AppendMimeWithFlags variants).Chilkat Perl Downloads
use strict;
use warnings;
use Chilkat2;
# Demonstrates the Imap.AppendMail method, which uploads an Email object to a mailbox on the
# server. The 1st argument is the destination mailbox name and the 2nd is the Email.
my $imap = Chilkat2::Imap->new;
$imap->Ssl(1);
$imap->Port(993);
my $success = $imap->Connect('imap.example.com');
if (!$success) {
print $imap->LastErrorText, "\n";
exit;
}
$success = $imap->Login('user@example.com', 'myPassword');
if (!$success) {
print $imap->LastErrorText, "\n";
exit;
}
# Build the email to be uploaded.
my $email = Chilkat2::Email->new;
$email->Subject('Meeting agenda');
$email->From('Alice <alice@example.com>');
$success = $email->AddTo('Bob', 'bob@example.com');
$email->Body('Let\'s meet at 10am to review the agenda.');
# Append (upload) the email to the "Drafts" mailbox.
$success = $imap->AppendMail('Drafts', $email);
if (!$success) {
print $imap->LastErrorText, "\n";
exit;
}
# AppendUid holds the UID assigned by the server (0 if the server did not report one).
print 'Appended UID: ', $imap->AppendUid, "\n";
$success = $imap->Disconnect();
if (!$success) {
print $imap->LastErrorText, "\n";
exit;
}