(PHP 4, PHP 5, PHP 7, PHP 8)
imap_mail_copy — Copy specified messages to a mailbox
Copies mail messages specified by message_nums
to specified mailbox.
imapAn IMAP\Connection instance.
message_nums
message_nums is a range not just message
numbers (as described in » RFC2060).
mailboxThe mailbox name, see imap_open() for more information
Passing untrusted data to this parameter is insecure, unless imap.enable_insecure_rsh is disabled.
flags
flags is a bitmask of one or more of
CP_UID - the sequence numbers contain UIDS
CP_MOVE - Delete the messages from
the current mailbox after copying. If this flag is set, the function
behaves identically to imap_mail_move() .
| Version | Description |
|---|---|
| 8.1.0 |
The imap parameter expects an IMAP\Connection
instance now; previously, a valid imap resource was expected.
|
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);