PHP Doku:: Liefert Statusinformationen zum angegebenen Postfach - function.imap-status.html

Verlauf / Chronik / History: (3) anzeigen

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

Ein Service von Reinhard Neidl - Webprogrammierung.

IMAP Funktionen

<<imap_sort

imap_subscribe>>

imap_status

(PHP 4, PHP 5)

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


2 BenutzerBeiträge:
- Beiträge aktualisieren...
razonklnbd at hotmail dot com
6.01.2008 7:12
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>');
jille at DIESPAMMERShexon dot cx
3.05.2007 15: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



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",...)