imap_append

Append a string message to a specified mailbox

&reftitle.description; `bool` `imap_append` `resource` `imap_stream` `string` `mailbox` `string` `message` `string` `options`&null; `string` `internal_date`&null;

Appends a string `message` to the specified `mailbox`.

&reftitle.parameters;

&imap.imap-stream.description;

`mailbox`

- The mailbox name, see `imap_open` for more information

`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 `mailbox`

`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.

&reftitle.returnvalues;

&return.success;

&reftitle.changelog;

&Version; | &Description;
5.3.2 | Added INTERNALDATE support to imap_append.

&reftitle.examples;

### `imap_append` example

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

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

    imap_append($stream, "{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($stream);
    echo "Msg Count after append : ". $check->Nmsgs . "\n";

    imap_close($stream);
    ?>