imap_append

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_appendAppend a string message to a specified mailbox

Description

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

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);?>