imap_append

Append a string message to a specified mailbox

Description

bool imap_append(
    IMAP\Connection $imap,
    string $folder,
    string $message,
    stringnull $options = null,
    stringnull $internal_date = null
)

Appends a string message to the specified folder.

Parameters

imap

An IMAP\Connection instance.

folder

The mailbox name, see imap_open for more information

Warning

Passing untrusted data to this parameter is insecure, unless imap.enable_insecure_rsh is disabled.

message

The message to be append, as a string

When talking to the Cyrus IMAP server, you must use "\r\n" as your end-of-line terminator instead of "\n" or the operation will fail

options

If provided, the options will also be written to the folder

internal_date

If this parameter is set, it will set the INTERNALDATE on the appended message. The parameter should be a date string that conforms to the rfc2060 specifications for a date_time value.

Return Values

Returns true on success or false on failure.

Changelog

Version Description
8.1.0 The imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
8.0.0 options and internal_date are now nullable.

Examples

Example #1 imap_append example

<?php
$imap = imap_open("{imap.example.org}INBOX.Drafts", "username", "password");

$check = imap_check($imap);
echo "Msg Count before append: ". $check->Nmsgs . "\n";

imap_append($imap, "{imap.example.org}INBOX.Drafts"
                   , "From: me@example.com\r\n"
                   . "To: you@example.com\r\n"
                   . "Subject: test\r\n"
                   . "\r\n"
                   . "this is a test message, please ignore\r\n"
                   );

$check = imap_check($imap);
echo "Msg Count after append : ". $check->Nmsgs . "\n";

imap_close($imap);
?>