PHP Conference Nagoya 2025

imap_setflag_full

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_setflag_fullSets flags on messages

Descripción

imap_setflag_full(
    IMAP\Connection $imap,
    string $sequence,
    string $flag,
    int $options = 0
): true

Causes a store to add the specified flag to the flags set for the messages in the specified sequence.

Parámetros

imap

An IMAP\Connection instance.

sequence

A sequence of message numbers. You can enumerate desired messages with the X,Y syntax, or retrieve all messages within an interval with the X:Y syntax

flag

The flags which you can set are \Seen, \Answered, \Flagged, \Deleted, and \Draft as defined by » RFC2060.

options

A bit mask that may contain the single option:

  • ST_UID - The sequence argument contains UIDs instead of sequence numbers

Valores devueltos

Siempre devuelve true.

Errores/Excepciones

Throws a ValueError if options is invalid.

Historial de cambios

Versión Descripción
8.1.0 The imap parameter expects an IMAP\Connection instance now; previously, a valid imap recurso was expected.
8.0.0 A ValueError is now thrown on invalid options parameter values. Previously, a warning was emitted and the function returned false.

Ejemplos

Ejemplo #1 imap_setflag_full() example

<?php
$mbox
= imap_open("{imap.example.org:143}", "username", "password")
or die(
"can't connect: " . imap_last_error());

$status = imap_setflag_full($mbox, "2,5", "\\Seen \\Flagged");

echo
gettype($status) . "\n";
echo
$status . "\n";

imap_close($mbox);
?>

Ver también

add a note

User Contributed Notes 2 notes

up
25
AJCartmell at ricardo dot com
22 years ago
Spent ages trying to get this to work, then eventually remembered I had opened the mailbox READONLY - obviously you need write permission for setting flags!
up
5
daniel dot blackburn at galorwebservices dot com
14 years ago
Where possible I would avoid using POP3 accounts. My host allowed me to upgrade to IMAP and it is so much easier. I think the only way to accurately create any form of mail client with POP3 is to download the messages into an SQL database which is a big task to start with, considering the IMAP standards have the functionality we need built in.
I experimented with flag setting in POP3 and it seems they do not stick at all, and it is almost impossible to retrieve the number of unread messages (ie. the Seen / Unseen thing does not work)
Converted to IMAP and it's working - the majority of the functions in this section seem to be IMAP focussed and WILL NOT generally work with POP3
To Top