【问题标题】:Getting the name of an Exchange mailbox to connect to it programmatically以编程方式获取 Exchange 邮箱的名称以连接到它
【发布时间】:2012-04-17 02:59:32
【问题描述】:

我正在编写一个 PHP 脚本来连接到 Exchange 服务器并从邮箱中读取消息。我把它连接到我的收件箱就好了。我现在要做的是让 PHP 连接到我可以访问的另一个邮箱(我们称之为“测试邮箱”)。

我试过这段代码:

imap_open( '{mail.domain.com:143}Test Mailbox', 'myusername', 'mypassword' );

但它说邮箱不存在。如何获取邮箱列表或邮箱路径?

【问题讨论】:

    标签: php exchange-server


    【解决方案1】:

    您应该真正考虑使用 Exchange Web 服务 (EWS) 来执行此操作。这将通过 SOAP 与 IMAP 为您提供所需的数据,而 IMAP 将无法产生很多东西。

    【讨论】:

      【解决方案2】:

      您可以使用imap_getmailboxes() 获取邮箱列表。至于选择邮箱,尽量不要前导/

      来自 php.net:

      $mbox = imap_open("{mail.domain.com:143}", "username", "password", OP_HALFOPEN)
        or die("can't connect: " . imap_last_error());
      
      $list = imap_getmailboxes($mbox, "{mail.domain.com:143}", "*");
      if (is_array($list)) {
          foreach ($list as $key => $val) {
              echo "($key) ";
              echo imap_utf7_decode($val->name) . ",";
              echo "'" . $val->delimiter . "',";
              echo $val->attributes . "<br />\n";
          }
      } else {
          echo "imap_getmailboxes failed: " . imap_last_error() . "\n";
      }
      
      imap_close($mbox);
      

      【讨论】:

        猜你喜欢
        • 2022-05-17
        • 2014-03-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-15
        • 1970-01-01
        相关资源
        最近更新 更多