the function is using the message number (and not the uid !)
$uid = $mail->uid; 
$msgno = $mail->msgno;
if you want to use the uid, simply option value
imap_delete($mbox, $uid, FT_UID);(PHP 4, PHP 5, PHP 7, PHP 8)
imap_delete — 現在のメールボックスから削除するメッセージに印を付ける
   message_nums が指すメッセージに
   削除予定のマークをします。削除マークを付けられたメッセージは、
   imap_expunge() がコールされるか
   imap_close() に CL_EXPUNGE
   を付けてコールされるかのどちらかが行われるまでメールボックスに残ったままになります。
  
imapIMAP\Connection クラスのインスタンス。
message_nums
       IMAP4 形式のシーケンスフォーマット
       ("n", "n:m", またはそれらをカンマで区切ったもの)
       で表現された、ひとつ以上のメッセージを表す文字列。
      
flags
       FT_UID を指定すると、
       引数 message_nums を
       UID として処理することを関数に指示できます。
      
   常に true を返します。
  
   flags が無効な場合、
   ValueError がスローされます。
  
| バージョン | 説明 | 
|---|---|
| 8.1.0 | 引数 imapは、IMAP\Connection
  クラスのインスタンスを期待するようになりました。
  これより前のバージョンでは、有効なimapresource が期待されていました。 | 
| 8.0.0 | flagsが無効な場合、
       ValueError がスローされるようになりました。
       これより前のバージョンでは、
       警告が発生し、falseを返していました。 | 
例1 imap_delete() の例
<?php
$mbox = imap_open("{imap.example.org}INBOX", "username", "password")
    or die("接続できません: " . imap_last_error());
$check = imap_mailboxmsginfo($mbox);
echo "Messages before delete: " . $check->Nmsgs . "<br />\n";
imap_delete($mbox, 1);
$check = imap_mailboxmsginfo($mbox);
echo "Messages after  delete: " . $check->Nmsgs . "<br />\n";
imap_expunge($mbox);
$check = imap_mailboxmsginfo($mbox);
echo "Messages after expunge: " . $check->Nmsgs . "<br />\n";
imap_close($mbox);
?>注意:
IMAP メールボックスは、コネクション間で保存可能なメッセージフラグを持っていません。 そのため、削除マークをつけたメッセージが本当に削除されたことを保証するためには、 同一の接続内で imap_expunge() をコールする必要があります。
