首页 > 解决方案 > 从 Outlook 帐户获取电子邮件时出现“无消息”Imap Laravel 错误?

问题描述

我正在尝试使用 Laravel 的 Imap 包从 Outlook 收件箱中获取电子邮件。它在 Gmail 上运行良好。但是当我尝试从 Outlook 中获取电子邮件时,它给出了 No message 错误 ImapController.php

 */
    public function index()
    {
        // dd(phpinfo());
        // imap_open('{outlook.office365.com:993/imap/ssl/novalidate-cert}INBOX', 'info@coldxpress.com.au', 'Dac67132');
        $oClient = Client::account('default');
        $oClient->connect();

        //Get all Mailboxes
        /** @var \Webklex\IMAP\Support\FolderCollection $aFolder */
        $aFolder = $oClient->getFolders('INBOX.Sent');

        //Loop through every Mailbox
        /** @var \Webklex\IMAP\Folder $oFolder */
        foreach ($aFolder as $oFolder) {

            //Get all Messages of the current Mailbox $oFolder
            /** @var \Webklex\IMAP\Support\MessageCollection $aMessage */
            $aMessage = $oFolder->messages()->since('10.02.2020')->get();

            /** @var \Webklex\IMAP\Message $oMessage */
            foreach ($aMessage as $oMessage) {
                echo $oMessage->getSubject() . '<br />';
                // echo 'Attachments: ' . $oMessage->getAttachments()->count() . '<br />';
                // echo $oMessage->getHTMLBody(true);
            }
        }

        // return view('home');
    }

Config/imap.php


    'accounts' => [

        'default' => [// account identifier
            'host'  => env('IMAP_HOST', 'outlook.office365.com'),
            'port'  => env('IMAP_PORT', 993),
            'protocol'  => env('IMAP_PROTOCOL', 'imap'), //might also use imap, [pop3 or nntp (untested)]
            'encryption'    => env('IMAP_ENCRYPTION', 'ssl'), // Supported: false, 'ssl', 'tls', 'notls', 'starttls'
            'validate_cert' => env('IMAP_VALIDATE_CERT', false),
            'username' => env('IMAP_USERNAME', 'info@coldxpress.com.au'),
            'password' => env('IMAP_PASSWORD', '*********'),
        ],

我想从 Outlook 帐户获取电子邮件。

标签: laravellaravel-5imaplaravel-6

解决方案


推荐阅读