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 — Marca uma mensagem para exclusão da caixa de correio atual
Marca mensagens listadas em message_nums
para exclusão.
Mensagens marcadas para exclusão permanecerão na caixa de correio até que
imap_expunge() seja chamada ou
imap_close() seja chamada com o parâmetro opcional
CL_EXPUNGE
.
imap
Uma instância de IMAP\Connection.
message_nums
Uma string representando uma ou mais mensagens no formato de sequência estilo IMAP4
("n"
, "n:m"
ou uma combinação destes
delimitados por vírgulas).
flags
Pode ser definida a FT_UID
que informa à função
para tratar o argumento message_nums
como um
UID
.
Sempre retorna true
.
Lança um ValueError se flags
for inválido.
Versão | Descrição |
---|---|
8.1.0 |
O parâmetro imap agora espera uma instância de IMAP\Connection;
anteriormente, um resource imap válido era esperado.
|
8.0.0 |
Um ValueError agora é lançado em valores de parâmetro
flags inválidos. Anteriormente,
um aviso era emitido e a função retornava false .
|
Exemplo #1 Exemplo de imap_delete()
<?php
$mbox = imap_open("{imap.example.org}INBOX", "username", "password")
or die("Não foi possível conectar: " . imap_last_error());
$check = imap_mailboxmsginfo($mbox);
echo "Mensagens antes da exclusão: " . $check->Nmsgs . "<br />\n";
imap_delete($mbox, 1);
$check = imap_mailboxmsginfo($mbox);
echo "Mensagens após a exclusão: " . $check->Nmsgs . "<br />\n";
imap_expunge($mbox);
$check = imap_mailboxmsginfo($mbox);
echo "Mensagens após a expurga: " . $check->Nmsgs . "<br />\n";
imap_close($mbox);
?>
Nota:
Caixas de correio IMAP podem não ter seus sinalizadores de mensagem salvos entre conexões, então imap_expunge() deve ser chamada durante a mesma conexão para garantir que as mensagens marcadas para exclusão sejam realmente eliminadas.