another tips is to get only total number of message and recent message
$imap_obj = imap_status($mbox, '{mail.mysrv.com:143/imap}INBOX', SA_MESSAGES+SA_RECENT);
echo('<pre>'); var_dump($imap_obj); echo('</pre>');
imap_status
(PHP 4, PHP 5)
imap_status — Liefert Statusinformationen zum angegebenen Postfach
Beschreibung
object imap_status
( resource $imap_stream
, string $mailbox
, int $options
)
iefert ausgewählte Statusinformationen zum Postfach mailbox .
Parameter-Liste
- imap_stream
-
Eine von imap_open() zurückgegebene IMAP-Verbindung.
- mailbox
-
Der Postfachname, siehe imap_open() für weitere Informationen.
- options
-
Bitmaske mit folgenden möglichen Werten:
- SA_MESSAGES - setzt status->messages auf die Anzahl der Nachrichten im Postfach
- SA_RECENT - setzt status->recent auf die Anzahl kürzlich eingetroffener Nachrichten im Postfach
- SA_UNSEEN - setzt status->unseen auf die Anzahl ungelesener Nachrichten im Postfach
- SA_UIDNEXT - setzt status->uidnext auf die nächste diesem Postfach zugeteilte UID
- SA_UIDVALIDITY - setzt status->uidvalidity auf eine Konstante die sich ändert falls die UIDs im Postfach ihre Gültigkeit verloren haben könnten
- SA_ALL - setzt alle Flags
Rückgabewerte
Die Funktion liefert ein Objekt mit Statusinformationen in den Properties messages, recent, unseen, uidnext und uidvalidity.
flags wird ebenfalls gesetzt und enthält eine Bitmaske mit der die tatsächlich gelieferten Informationen mit hilfe der oben beschriebenen Konstanten geprüft werden können.
Beispiele
Beispiel #1 imap_status() Beispiel
<?php
$mbox = imap_open("{imap.example.com}", "username", "password", OP_HALFOPEN)
or die("can't connect: " . imap_last_error());
$status = imap_status($mbox, "{imap.example.org}INBOX", SA_ALL);
if ($status) {
echo "Messages: " . $status->messages . "<br />\n";
echo "Recent: " . $status->recent . "<br />\n";
echo "Unseen: " . $status->unseen . "<br />\n";
echo "UIDnext: " . $status->uidnext . "<br />\n";
echo "UIDvalidity:" . $status->uidvalidity . "<br />\n";
} else {
echo "imap_status failed: " . imap_last_error() . "\n";
}
imap_close($mbox);
?>
imap_status
razonklnbd at hotmail dot com
06-Jan-2008 06:12
06-Jan-2008 06:12
jille at DIESPAMMERShexon dot cx
03-May-2007 01:21
03-May-2007 01:21
In 'reply' to my previous post;
I`m not sure of that anymore
I think this trick works,
but the rest of my script just sucks..
Conclusion:
You can get the last UID by using status->uidnext-1
BUT: This is not a good way, if another message is added after your append and before your status; you are screwed
