If you need to use the uid instead of msgno use
imap_clearflag_full($stream, implode(',', $flags), '\\DELETED', ST_UID);
(PHP 4, PHP 5, PHP 7)
imap_undelete — Unmark the message which is marked deleted
$imap_stream
, int $msg_number
[, int $flags
= 0
] )Removes the deletion flag for a specified message, which is set by imap_delete() or imap_mail_move().
Returns TRUE
on success or FALSE
on failure.
If you need to use the uid instead of msgno use
imap_clearflag_full($stream, implode(',', $flags), '\\DELETED', ST_UID);
The imap_delete function allows the option to use a UID for the message number but the imap_undelete function does not.