(PHP 4, PHP 5, PHP 7, PHP 8)
imap_mail_copy — Copia los mensajes especificados en un buzón de correo
$imap,$message_nums,$mailbox,$flags = 0
Copia los mensajes de correo electrónico especificados por message_nums en el
buzón de correo especificado.
imapmessage_nums
message_nums es un intervalo, y no solo
una lista de números de mensaje (como se describe en la » RFC2060).
mailboxEl nombre del buzón de correo, ver la documentación de la función imap_open() para más detalles
Pasar datos no confiables a este parámetro es inseguro, a menos que imap.enable_insecure_rsh esté desactivado.
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() .
| Versión | Descripción |
|---|---|
| 8.1.0 |
El parámetro imap ahora espera una instancia de IMAP\Connection
; anteriormente, se esperaba un resource imap válido.
|
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!!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.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);