首页 > 解决方案 > 使用 Webklex\IMAP 在 O365 服务器上获取文件夹的问题

问题描述

我试图弄清楚我的 Weblex Imap for Laravel 插件发生了什么

我得到了我的默认帐户设置并最终连接起来。我现在在命令中有一小段代码:

    $oClient = Client::account('default');
    $oClient->connect();

    dd($oClient);

    $aAvailableFolders = $oClient->getFolderByName('inbox');
    dd($aAvailableFolders);

所以,客户端部分工作,当我转储 oClient 时,我得到了这个,正如预期的那样:

    Webklex\IMAP\Client^ {#24
      +connection: imap resource @508
      +host: "outlook.office365.com"
      +port: 993
      +protocol: "imap"
      +encryption: "ssl"
      +validate_cert: true
      +username: redacted
      +password: redacted
      #read_only: false
      #active_folder: false
      #connected: true
      #errors: []
      #valid_config_keys: array:7 [
        0 => "host"
        1 => "port"
        2 => "encryption"
        3 => "validate_cert"
        4 => "username"
        5 => "password"
        6 => "protocol"
      ]
      #default_message_mask: "Webklex\IMAP\Support\Masks\AttachmentMask"
      #default_attachment_mask: "Webklex\IMAP\Support\Masks\AttachmentMask"
    }

问题是,我只是试图确保它获取文件夹的第二个转储语句失败了。我最初像在文档中那样循环它并得到了错误,所以我投入了转储/死亡语句进行调试,但在那一行我得到:

Call to undefined method Webklex\IMAP\Client::getFolderByName()

即使我尝试一下,getFolders()我也会得到一个异常跟踪Webklex\IMAP\Client::getFolders("Contacts/%")

标签: phplaravelimap

解决方案


Microsoft 已放弃在 Azure 和 365 中对 IMAP 的支持。


推荐阅读