Delicious Bookmark this on Delicious Share on Facebook SlashdotSlashdot It! Digg! Digg



PHP : Function Reference : IMAP, POP3 and NNTP Functions : imap_status

imap_status

Returns status information on a mailbox (PHP 4, PHP 5)
object imap_status ( resource imap_stream, string mailbox, int options )

Gets status information about the given mailbox.

Parameters

imap_stream

An IMAP stream returned by imap_open().

mailbox

The mailbox name, see imap_open() for more information

options

Valid flags are:

  • SA_MESSAGES - set status->messages to the number of messages in the mailbox
  • SA_RECENT - set status->recent to the number of recent messages in the mailbox
  • SA_UNSEEN - set status->unseen to the number of unseen (new) messages in the mailbox
  • SA_UIDNEXT - set status->uidnext to the next uid to be used in the mailbox
  • SA_UIDVALIDITY - set status->uidvalidity to a constant that changes when uids for the mailbox may no longer be valid
  • SA_ALL - set all of the above

Return Values

This function returns an object containing status information. The object has the following properties: messages, recent, unseen, uidnext, and uidvalidity.

flags is also set, which contains a bitmask which can be checked against any of the above constants.

Examples

Example 1065. imap_status() example

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


Code Examples / Notes » imap_status

jille

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


Change Language


Follow Navioo On Twitter
imap_8bit
imap_alerts
imap_append
imap_base64
imap_binary
imap_body
imap_bodystruct
imap_check
imap_clearflag_full
imap_close
imap_createmailbox
imap_delete
imap_deletemailbox
imap_errors
imap_expunge
imap_fetch_overview
imap_fetchbody
imap_fetchheader
imap_fetchstructure
imap_get_quota
imap_get_quotaroot
imap_getacl
imap_getmailboxes
imap_getsubscribed
imap_header
imap_headerinfo
imap_headers
imap_last_error
imap_list
imap_listmailbox
imap_listscan
imap_listsubscribed
imap_lsub
imap_mail_compose
imap_mail_copy
imap_mail_move
imap_mail
imap_mailboxmsginfo
imap_mime_header_decode
imap_msgno
imap_num_msg
imap_num_recent
imap_open
imap_ping
imap_qprint
imap_renamemailbox
imap_reopen
imap_rfc822_parse_adrlist
imap_rfc822_parse_headers
imap_rfc822_write_address
imap_savebody
imap_scanmailbox
imap_search
imap_set_quota
imap_setacl
imap_setflag_full
imap_sort
imap_status
imap_subscribe
imap_thread
imap_timeout
imap_uid
imap_undelete
imap_unsubscribe
imap_utf7_decode
imap_utf7_encode
imap_utf8
eXTReMe Tracker