diff --git a/snappymail/v/0.0.0/app/libraries/MailSo/Imap/FetchResponse.php b/snappymail/v/0.0.0/app/libraries/MailSo/Imap/FetchResponse.php index 2ccb712fb..c882df8f6 100644 --- a/snappymail/v/0.0.0/app/libraries/MailSo/Imap/FetchResponse.php +++ b/snappymail/v/0.0.0/app/libraries/MailSo/Imap/FetchResponse.php @@ -132,7 +132,7 @@ class FetchResponse public static function isValidImapResponse(Response $oImapResponse) : bool { return - true !== $oImapResponse->IsStatusResponse + !$oImapResponse->IsStatusResponse && Enumerations\ResponseType::UNTAGGED === $oImapResponse->ResponseType && 3 < \count($oImapResponse->ResponseList) && 'FETCH' === $oImapResponse->ResponseList[2] && \is_array($oImapResponse->ResponseList[3]); diff --git a/snappymail/v/0.0.0/app/libraries/MailSo/Imap/ImapClient.php b/snappymail/v/0.0.0/app/libraries/MailSo/Imap/ImapClient.php index a90009212..62263d4c8 100644 --- a/snappymail/v/0.0.0/app/libraries/MailSo/Imap/ImapClient.php +++ b/snappymail/v/0.0.0/app/libraries/MailSo/Imap/ImapClient.php @@ -515,6 +515,13 @@ class ImapClient extends \MailSo\Net\NetClient $oResponse = $this->partialParseResponse(); $oResult->append($oResponse); + if ($oResponse->IsStatusResponse + && Enumerations\ResponseType::UNTAGGED === $oResponse->ResponseType + && Enumerations\ResponseStatus::PREAUTH === $oResponse->StatusOrIndex + ) { + break; + } + // RFC 5530 if ($sEndTag === $oResponse->Tag && \is_array($oResponse->OptionalResponse) && 'CLIENTBUG' === $oResponse->OptionalResponse[0]) { // The server has detected a client bug.