PHP - imap_status() 函数



PHP 的 IMAP 函数帮助您访问电子邮件帐户,IMAP 代表 **I**nternet **M**ail **A**ccess **P**rotocol,使用这些函数,您还可以使用 NNTP、POP3 协议和本地邮箱访问方法。

imap_status() 函数接受表示 IMAP 流的资源值、表示邮箱 URL/名称的字符串值以及表示可选值的整数作为参数,检索并返回给定邮箱的状态。

语法

imap_status($imap_stream, $mailbox, $options);

参数

序号 参数及描述
1

imap_stream (必填)

这是一个字符串值,表示 IMAP 流,是 imap_open() 函数的返回值。

2

mailbox (必填)

这是一个字符串值,表示邮箱的名称/URL。它包含服务器名称和邮箱路径。

3

options (必填)

这是一个整数值,表示可选参数,可以是以下之一:

  • SA_MESSAGES

  • SA_RECENT

  • SA_UNSEEN

  • SA_UIDNEXT

  • SA_UIDVALIDITY _subscribed

  • SA_ALL

返回值

此函数返回一个对象,其中包含给定邮箱的状态信息。

PHP 版本

此函数首次在 PHP 4 版本中引入,并在所有后续版本中均有效。

示例

以下示例演示了 imap_status() 函数的用法:

<html>
   <body>
      <?php
         //Establishing connection
         $url = "{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX";
         $id = "[email protected]";
         $pwd = "cohondob_123";
         $imap = imap_open($url, $id, $pwd);
         print("Connection established...."."<br>");
         
         //Status info of the mailbox
         $info = imap_status($imap, $url, SA_ALL);
         print_r($info);
		 
         //Closing the connection
         imap_close($imap);   
      ?>
   </body>
</html>

输出

这将生成以下输出:

Connection established....
stdClass Object ( 
   [flags] => 31 [messages] => 12 [recent] => 0 
   [unseen] => 2 [uidnext] => 61 [uidvalidity] => 1 
)

示例

以下是上述函数的另一个示例:

<html>
   <body>
      <?php
         //Establishing connection
         $url = "{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX";
         $id = "[email protected]";
         $pwd = "cohondob_123";
         $imap = imap_open($url, $id, $pwd);
         print("Connection established...."."<br>");
         
         //Status info of the mailbox
         print_r(imap_status($imap, $url, SA_MESSAGES));
         print("<br>");
         print_r(imap_status($imap, $url, SA_RECENT));
         print("<br>");
         print_r(imap_status($imap, $url, SA_UNSEEN));
         print("<br>");
         print_r(imap_status($imap, $url, SA_UIDNEXT));
         print("<br>");
         print_r(imap_status($imap, $url, SA_UIDVALIDITY));
         print("<br>");
         print_r(imap_status($imap, $url, SA_ALL));
		   
         //Closing the connection
         imap_close($imap);   
      ?>
   </body>
</html>

输出

这将生成以下输出:

Connection established....
stdClass Object ( [flags] => 1 [messages] => 12 )
stdClass Object ( [flags] => 2 [recent] => 0 )
stdClass Object ( [flags] => 4 [unseen] => 2 )
stdClass Object ( [flags] => 8 [uidnext] => 61 )
stdClass Object ( [flags] => 16 [uidvalidity] => 1 )
stdClass Object ( [flags] => 31 [messages] => 12 [recent] => 0 [unseen] => 2 [uidnext] => 61 [uidvalidity] => 1 )
php_function_reference.htm
广告