\strlen($sQuery)) { return []; } $oActions = \RainLoop\Api::Actions(); $oMailClient = $oActions->MailClient(); if (!$oMailClient->IsLoggined()) { $oAccount = $oActions->getAccountFromToken(); $oAccount->ImapConnectAndLogin($oActions->Plugins(), $oMailClient->ImapClient(), $oActions->Config()); } $oImapClient = $oMailClient->ImapClient(); $oImapClient->FolderSelect($this->sFolderName); $sQuery = \MailSo\Imap\SearchCriterias::escapeSearchString($oImapClient, $sQuery); $aUids = \array_slice( $oImapClient->MessageSimpleSearch("FROM {$sQuery}"), 0, $iLimit ); $aResult = []; if ($aUids) { foreach ($oImapClient->Fetch(['BODY.PEEK[HEADER.FIELDS (FROM)]'], \implode(',', $aUids), true) as $oFetchResponse) { $oHeaders = new \MailSo\Mime\HeaderCollection($oFetchResponse->GetHeaderFieldsValue()); $oFrom = $oHeaders->GetAsEmailCollection(\MailSo\Mime\Enumerations\Header::FROM_, true); foreach ($oFrom as $oMail) { $aResult[] = [$oMail->GetEmail(), $oMail->GetDisplayName()]; } } } return $aResult; } }