当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP imap_open()用法及代码示例



PHP-IMAP 函数可帮助您访问电子邮件帐户,IMAP 代表I互联网M艾尔A访问权限Protocol 使用这些函数您还可以使用 NNTP、POP3 协议和本地邮箱访问方法。

这个imap_open()函数接受代表邮箱名称/URL、用户名和密码的三个字符串值作为参数,并打开指定邮箱的流。

用法

imap_open ($mailbox, $username, $password [$options, $n_retries, $params);

参数

Sr.No 参数及说明
1

mailbox(Mandatory)

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

2

username(Mandatory)

这是一个表示用户名的字符串值。

3

password(Mandatory)

这是一个表示密码的字符串值。

4

options (Optional)

这是一个表示可选参数的整数值,它可以是以下一个或多个 -

  • OP_READONLY

  • OP_ANONYMOUS

  • OP_HALFOPEN

  • CL_EXPUNGE

  • OP_DEBUG

  • OP_SHORTCACHE

  • OP_SILENT

  • OP_PROTOTYPE

  • OP_SECURE

5

retries (Optional)

这是一个整数值,表示最大尝试次数。

6

params (Optional)

这是一个表示连接参数的数组值。

返回值

该函数在成功的情况下返回一个 IMAP 流对象,在失败的情况下返回一个布尔值 FALSE。

PHP版本

这个函数最初是在 PHP 版本 4 中引入的,并且适用于所有后续版本。

示例

以下是一个 php 程序尝试与特定的 Gmail 帐户建立连接imap_open()-

<html>
   <body>
      <?php
         $url = "{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX";
         $id = "tutorialspoint.test@gmail.com";
         $pwd = "cohondob_123";
         $mailbox = imap_open($url, $id, $pwd);
         if($mailbox){
            print("Connection established....");
         } else {
            print("Connection failed");
         }
      ?>
   </body>
</html>

输出

上述程序生成以下输出 -

Connection established....

示例

下面是这个函数的另一个例子,我们已经建立了与特定邮箱的连接并检索了其中的消息内容。

<html>
   <body>
      <?php
         //Establishing connection
         $url = "{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX";
         $id = "tutorialspoint.test@gmail.com";
         $pwd = "cohondob_123";
         $imap = imap_open($url, $id, $pwd);
         print("Connection established...."."<br>");
         //Searching emails
         $emailData = imap_search($imap, '');
        
         if (! empty($emailData)) {  
            foreach ($emailData as $msg) {
               $msg = imap_fetchbody($imap, $msg, "1");
               print(quoted_printable_decode($msg)."<br>");                
            }    
         } 
         //Closing the connection
         imap_close($imap);   
      ?>
   </body>
</html>

输出

上述程序生成以下输出 -

Connection established....
This is a test mail #1.
--0000000000001bf26805af905277 Content-Type:text/plain; charset="UTF-8" test 
mail #2 --0000000000001bf26805af905277 Content-Type:text/html; charset="UTF-8" 
Content-Transfer-Encoding:quoted-printable

test mail #2
--0000000000001bf26805af905277--
test mail #3
test mail #4

示例

以下是带有可选参数的此函数的示例。

<html>
   <body>
      <?php
         //Establishing the connection
         $url = "{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX";
         $id = "tutorialspoint.test@gmail.com";
         $pwd = "cohondob_123";
         
         //Optional parameters
         $options = OP_READONLY;
         $retries = 10;
		 
         $mailbox = imap_open($url, $id, $pwd, $options, $retries);
         if($mailbox){
            print("Connection established....");
         } else {
            print("Connection failed");
         }
      ?>
   </body>
</html>

上述程序生成以下输出 -

Connection established....

相关用法


注:本文由纯净天空筛选整理自 PHP - imap_open() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。