PHP Conference Kansai 2025

imap_mail_copy

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

imap_mail_copyCopia los mensajes especificados en un buzón de correo

Descripción

imap_mail_copy(
    IMAP\Connection $imap,
    string $message_nums,
    string $mailbox,
    int $flags = 0
): bool

Copia los mensajes de correo electrónico especificados por message_nums en el buzón de correo especificado.

Parámetros

imap

An IMAP\Connection instance.

message_nums

message_nums es un intervalo, y no solo una lista de números de mensaje (como se describe en la » RFC2060).

mailbox

El nombre del buzón de correo, ver la documentación de la función imap_open() para más detalles

Advertencia

El paso de datos no confiables a este parámetro es inseguro, a menos que imap.enable_insecure_rsh esté inhabilitado.

flags

flags es una máscara, que puede contener uno o varios de los siguientes valores:

  • CP_UID - la secuencia de números contiene UIDS
  • CP_MOVE - Borra los mensajes después de la copia. Si este flag está definido, la función se comporta de manera idéntica a imap_mail_move().

Valores devueltos

Devuelve true en caso de éxito o false en caso de error.

Historial de cambios

Versión Descripción
8.1.0 The imap parameter expects an IMAP\Connection instance now; previously, a valid imap recurso was expected.

Ver también

add a note

User Contributed Notes 3 notes

up
4
marcus at names dot co dot uk
22 years ago
If you are having problems getting imap_mail_copy and imap_mail_move to work, check you have installed imap_devel (the imap development libraries) as well as imap (the imap daemon). Without it, PHP appears to configure correctly --with-imap, but some functions do not work.

It took me about 12 hours to figure this out!!
up
4
hxlvt at hotmail dot com
24 years ago
After much fooling around, imap_mail_copy did work for me. One thing you might want to check, if you are having problems, is the new mailbox name. Make sure it is just a folder name, e.g. INBOX.haha without the server part.
up
1
jigar dot dhaduk79 at gmail dot com
9 years ago
When we want to copy more than one mail, we can write '(string)' before msg_num. Like..

$msg_num = "1,2,3,4,5,6,7";
$copy = imap_mail_copy($imap_stream, (string) $msg_num, '[Gmail]/Important', CP_UID);
To Top
OSZAR »