PHP Doku:: Setzt Nachrichtenflags - function.imap-setflag-full.html

Verlauf / Chronik / History: (1) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzE-Mail-relevante ErweiterungenIMAP, POP3 and NNTPIMAP Funktionenimap_setflag_full

Ein Service von Reinhard Neidl - Webprogrammierung.

IMAP Funktionen

<<imap_setacl

imap_sort>>

imap_setflag_full

(PHP 4, PHP 5)

imap_setflag_fullSetzt Nachrichtenflags

Beschreibung

bool imap_setflag_full ( resource $imap_stream , string $sequence , string $flag [, int $options = NIL ] )

Setzt die mit flag angegebenen Flags bei allen Nachrichten aus der Liste sequence. sequence.

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

sequence

Eine Liste von Nachrichtennummern. Sie können Nachrichten mit Komma getrennt aufzählen X,Y oder alle Nachrichten in einem bestimmten Interval mit X:Y auswählen.

flag

Die möglichen Flags, die gesetzt werden können, sind \Seen, \Answered, \Flagged, \Deleted und \Draft, wie in » RFC2060 definiert.

options

Eine Bitmaske mit Optionen, zur Zeit wird nur eine Option unterstützt:

  • ST_UID - Die Nachrichtenliste sequence enthält UIDs anstelle von Nachrichtennummern

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 imap_setflag_full()-Beispiel

<?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);
?>

Siehe auch


10 BenutzerBeiträge:
- Beiträge aktualisieren...
ming0 at mailinator dot com
8.09.2010 19:43
To correct phpidiot at avanca-a dot de

<?php

imap_setflag_full
($mbox, '1', 'label1');

?>
daniel dot blackburn at galorwebservices dot com
20.08.2010 11:13
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
phpidiot at avanca-a dot de
25.10.2009 13:37
"Keywords" aka "tags" aka "PERMANENTFLAGS" can be added if your server supports IMAP 4rev1 by using $label{label-nr}:

<?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", "\$label1");

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

imap_close($mbox);
?>
calmdown at abendstille dot at
16.01.2003 22:54
The imap_setflag_full-function works with pop3 as long as the connection is NOT closed. if you make

imap_setflag_full($mbox, imap_uid($mbox, 0), "\\Seen \\Flagged", ST_UID);
   
print_r( imap_headerinfo($mbox, 0) );

you see the flags set, but if you call the box again with another script, the flags are empty again.
I tried this on a WinNT (*ugly*) with IIS 4.0 and a running POP3-server with PHP 4.3.
msh at onliners dot dk
25.04.2002 17:36
In reply to:
todsah@arise.nl
13-Oct-2000 06:51

The pop3 does indeed support the deleted flag - I have been working with the IMAP functions connection to a POP3 server this past week and lucky me it works.
AJCartmell at ricardo dot com
31.01.2002 15:29
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!
php AT holtsmark DOT no
14.01.2002 15:48
Use the imap_clearflag_full function if you want to unset the \Seen flag.

http://www.php.net/manual/en/function.imap-clearflag-full.php
death at metalfield dot com
21.12.2000 14:14
Indeed POP3 does not support flags that indicate the "newness" of a message. There are other ways to work around this problem, though. For one, I have seen mail delivery systems that will add a header field Status: to indicate its status (see RFC2076). Another way most email clients and mail fetching programs seem to use is to keep a local list of UID's of messages that are downloaded. Upon fetching mail, the UID's of the messages can be checked against this list to see if it was already downloaded. POP3 supports a command UIDL to get a list of all UID's, but I doubt the IMAP lib uses this command. The only thing I know of that will thrash this work-around is the use of multiple mail clients. If another mail client fetches mail from the server, the first client has no way of knowing it has been downloaded.
todsah at arise dot nl
13.10.2000 21:51
According to the rfc, pop3 does not have support for these flags, except perhaps for the deleted flag. I haven't tried if the delete flag works on pop3 or not.
simoned at eisa dot net dot au
14.01.2000 7:04
I've finally managed to get some action out of this function. Here is some code that might work help some people out:

$headers = imap_headers($link);
for($x=0; $x < count($headers); $x++) {
    $id = substr($headers[$x],5,4);
    imap_setflag_full($link,imap_uid($link,$id),'\\SEEN',SE_UID);
}

Good luck.



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)