I'm using DirectoryTree/ImapEngine on PHP 8.4.11 which throws a fatal error in your library:
Fatal error: Declaration of ZBateson\MailMimeParser\Stream\MessagePartStreamDecorator::read(int $length): string must be compatible with PsrExt\Http\Message\StreamInterface::read($length) in /var/www/html/vendor/zbateson/mail-mime-parser/src/Stream/MessagePartStreamDecorator.php on line 45
Call Stack:
0.0001 390976 1. {main}() /var/www/html/console:0
0.6704 3434496 7. DirectoryTree\ImapEngine\Message->to() /var/www/html/app/Tasks/Common/ApiImportTask.php:44
0.6728 3439744 8. DirectoryTree\ImapEngine\Message->addresses($header = 'To') /var/www/html/vendor/directorytree/imapengine/src/HasParsedMessage.php:109
0.6728 3439744 9. DirectoryTree\ImapEngine\Message->header($name = 'To', $offset = ???) /var/www/html/vendor/directorytree/imapengine/src/HasParsedMessage.php:193
0.6728 3439744 10. DirectoryTree\ImapEngine\Message->parse() /var/www/html/vendor/directorytree/imapengine/src/HasParsedMessage.php:234
0.6739 3445256 11. DirectoryTree\ImapEngine\MessageParser::parse($contents = '[private]'...) /var/www/html/vendor/directorytree/imapengine/src/HasParsedMessage.php:246
0.7913 4838112 12. ZBateson\MailMimeParser\MailMimeParser->parse($resource = '[private]'..., $attached = TRUE) /var/www/html/vendor/directorytree/imapengine/src/MessageParser.php:20
0.7939 4992408 13. ZBateson\MailMimeParser\Parser\MessageParserService->parse($stream = class GuzzleHttp\Psr7\Stream { private $stream = resource(273) of type (stream); private $size = NULL; private $seekable = TRUE; private $readable = TRUE; private $writable = TRUE; private $uri = 'php://temp'; private $customMetadata = ['mmp-detached-stream' => FALSE] }) /var/www/html/vendor/zbateson/mail-mime-parser/src/MailMimeParser.php:217
0.7976 5082784 14. ZBateson\MailMimeParser\Parser\ParserManagerService->createParserProxyFor($partBuilder = class ZBateson\MailMimeParser\Parser\PartBuilder { private int $streamPartStartPos = 0; private int $streamPartEndPos = *uninitialized*; private ?int $streamContentStartPos = NULL; private ?int $streamContentEndPos = NULL; private ZBateson\MailMimeParser\Message\PartHeaderContainer $headerContainer = class ZBateson\MailMimeParser\Message\PartHeaderContainer { protected Psr\Log\LoggerInterface $logger = class PsrExt\Log\NullLogger { ... }; private array ${ZBateson\MailMimeParser\ErrorBag}errors = [...]; private bool ${ZBateson\MailMimeParser\ErrorBag}validated = FALSE; protected $headerFactory = class ZBateson\MailMimeParser\Header\HeaderFactory { ... }; private $headers = [...]; private $headerObjects = [...]; private $headerMap = [...]; private $nextIndex = 21 }; private ?Psr\Http\Message\StreamInterface $messageStream = class GuzzleHttp\Psr7\Stream { private $stream = resource(273) of type (stream); private $size = NULL; private $seekable = TRUE; private $readable = TRUE; private $writable = TRUE; private $uri = 'php://temp'; private $customMetadata = [...] }; private mixed $messageHandle = resource(281) of type (stream); private ?ZBateson\MailMimeParser\Parser\Proxy\ParserMimePartProxy $parent = NULL }) /var/www/html/vendor/zbateson/mail-mime-parser/src/Parser/MessageParserService.php:92
0.7976 5082784 15. ZBateson\MailMimeParser\Parser\Proxy\ParserMessageProxyFactory->newInstance($partBuilder = class ZBateson\MailMimeParser\Parser\PartBuilder { private int $streamPartStartPos = 0; private int $streamPartEndPos = *uninitialized*; private ?int $streamContentStartPos = NULL; private ?int $streamContentEndPos = NULL; private ZBateson\MailMimeParser\Message\PartHeaderContainer $headerContainer = class ZBateson\MailMimeParser\Message\PartHeaderContainer { protected Psr\Log\LoggerInterface $logger = class PsrExt\Log\NullLogger { ... }; private array ${ZBateson\MailMimeParser\ErrorBag}errors = [...]; private bool ${ZBateson\MailMimeParser\ErrorBag}validated = FALSE; protected $headerFactory = class ZBateson\MailMimeParser\Header\HeaderFactory { ... }; private $headers = [...]; private $headerObjects = [...]; private $headerMap = [...]; private $nextIndex = 21 }; private ?Psr\Http\Message\StreamInterface $messageStream = class GuzzleHttp\Psr7\Stream { private $stream = resource(273) of type (stream); private $size = NULL; private $seekable = TRUE; private $readable = TRUE; private $writable = TRUE; private $uri = 'php://temp'; private $customMetadata = [...] }; private mixed $messageHandle = resource(281) of type (stream); private ?ZBateson\MailMimeParser\Parser\Proxy\ParserMimePartProxy $parent = NULL }, $parser = class ZBateson\MailMimeParser\Parser\MimeParserService { protected ZBateson\MailMimeParser\Parser\Proxy\ParserPartProxyFactory $parserMessageProxyFactory = class ZBateson\MailMimeParser\Parser\Proxy\ParserMessageProxyFactory { protected Psr\Log\LoggerInterface $logger = class PsrExt\Log\NullLogger { ... }; protected ZBateson\MailMimeParser\Stream\StreamFactory $streamFactory = class ZBateson\MailMimeParser\Stream\StreamFactory { ... }; protected ZBateson\MailMimeParser\Parser\Part\ParserPartStreamContainerFactory $parserPartStreamContainerFactory = class ZBateson\MailMimeParser\Parser\Part\ParserPartStreamContainerFactory { ... }; protected ZBateson\MailMimeParser\Message\Factory\PartHeaderContainerFactory $partHeaderContainerFactory = class ZBateson\MailMimeParser\Message\Factory\PartHeaderContainerFactory { ... }; protected ZBateson\MailMimeParser\Parser\Part\ParserPartChildrenContainerFactory $parserPartChildrenContainerFactory = class ZBateson\MailMimeParser\Parser\Part\ParserPartChildrenContainerFactory { ... }; protected ZBateson\MailMimeParser\Message\Helper\MultipartHelper $multipartHelper = class ZBateson\MailMimeParser\Message\Helper\MultipartHelper { ... }; protected ZBateson\MailMimeParser\Message\Helper\PrivacyHelper $privacyHelper = class ZBateson\MailMimeParser\Message\Helper\PrivacyHelper { ... } }; protected ZBateson\MailMimeParser\Parser\Proxy\ParserPartProxyFactory $parserPartProxyFactory = class ZBateson\MailMimeParser\Parser\Proxy\ParserMimePartProxyFactory { protected Psr\Log\LoggerInterface $logger = class PsrExt\Log\NullLogger { ... }; protected ZBateson\MailMimeParser\Stream\StreamFactory $streamFactory = class ZBateson\MailMimeParser\Stream\StreamFactory { ... }; protected ZBateson\MailMimeParser\Parser\Part\ParserPartStreamContainerFactory $parserPartStreamContainerFactory = class ZBateson\MailMimeParser\Parser\Part\ParserPartStreamContainerFactory { ... }; protected ZBateson\MailMimeParser\Message\Factory\PartHeaderContainerFactory $partHeaderContainerFactory = class ZBateson\MailMimeParser\Message\Factory\PartHeaderContainerFactory { ... }; protected ZBateson\MailMimeParser\Parser\Part\ParserPartChildrenContainerFactory $parserPartChildrenContainerFactory = class ZBateson\MailMimeParser\Parser\Part\ParserPartChildrenContainerFactory { ... } }; protected ZBateson\MailMimeParser\Parser\PartBuilderFactory $partBuilderFactory = class ZBateson\MailMimeParser\Parser\PartBuilderFactory { }; protected ZBateson\MailMimeParser\Parser\ParserManagerService $parserManager = class ZBateson\MailMimeParser\Parser\ParserManagerService { protected array $parsers = [...] }; protected ZBateson\MailMimeParser\Message\Factory\PartHeaderContainerFactory $partHeaderContainerFactory = class ZBateson\MailMimeParser\Message\Factory\PartHeaderContainerFactory { protected Psr\Log\LoggerInterface $logger = class PsrExt\Log\NullLogger { ... }; protected ZBateson\MailMimeParser\Header\HeaderFactory $headerFactory = class ZBateson\MailMimeParser\Header\HeaderFactory { ... } }; protected ZBateson\MailMimeParser\Parser\HeaderParserService $headerParser = class ZBateson\MailMimeParser\Parser\HeaderParserService { } }) /var/www/html/vendor/zbateson/mail-mime-parser/src/Parser/ParserManagerService.php:87
0.8018 5145864 16. Composer\Autoload\ClassLoader->loadClass($class = 'ZBateson\\MailMimeParser\\Message') /var/www/html/vendor/zbateson/mail-mime-parser/src/Parser/Proxy/ParserMessageProxyFactory.php:60
0.8021 5145992 17. {closure:/var/www/html/vendor/composer/ClassLoader.php:575-577}($file = '/var/www/html/vendor/composer/../zbateson/mail-mime-parser/src/Message.php') /var/www/html/vendor/composer/ClassLoader.php:427
0.8028 5182720 18. include('/var/www/html/vendor/zbateson/mail-mime-parser/src/Message.php') /var/www/html/vendor/composer/ClassLoader.php:576
0.8028 5182720 19. Composer\Autoload\ClassLoader->loadClass($class = 'ZBateson\\MailMimeParser\\Message\\MimePart') /var/www/html/vendor/zbateson/mail-mime-parser/src/Message.php:31
0.8032 5182880 20. {closure:/var/www/html/vendor/composer/ClassLoader.php:575-577}($file = '/var/www/html/vendor/composer/../zbateson/mail-mime-parser/src/Message/MimePart.php') /var/www/html/vendor/composer/ClassLoader.php:427
0.8039 5212904 21. include('/var/www/html/vendor/zbateson/mail-mime-parser/src/Message/MimePart.php') /var/www/html/vendor/composer/ClassLoader.php:576
0.8039 5212904 22. Composer\Autoload\ClassLoader->loadClass($class = 'ZBateson\\MailMimeParser\\Message\\MultiPart') /var/www/html/vendor/zbateson/mail-mime-parser/src/Message/MimePart.php:25
0.8042 5213064 23. {closure:/var/www/html/vendor/composer/ClassLoader.php:575-577}($file = '/var/www/html/vendor/composer/../zbateson/mail-mime-parser/src/Message/MultiPart.php') /var/www/html/vendor/composer/ClassLoader.php:427
0.8049 5235944 24. include('/var/www/html/vendor/zbateson/mail-mime-parser/src/Message/MultiPart.php') /var/www/html/vendor/composer/ClassLoader.php:576
0.8049 5235944 25. Composer\Autoload\ClassLoader->loadClass($class = 'ZBateson\\MailMimeParser\\Message\\MessagePart') /var/www/html/vendor/zbateson/mail-mime-parser/src/Message/MultiPart.php:22
0.8052 5236104 26. {closure:/var/www/html/vendor/composer/ClassLoader.php:575-577}($file = '/var/www/html/vendor/composer/../zbateson/mail-mime-parser/src/Message/MessagePart.php') /var/www/html/vendor/composer/ClassLoader.php:427
0.8060 5262944 27. include('/var/www/html/vendor/zbateson/mail-mime-parser/src/Message/MessagePart.php') /var/www/html/vendor/composer/ClassLoader.php:576
0.8060 5265640 28. Composer\Autoload\ClassLoader->loadClass($class = 'ZBateson\\MailMimeParser\\Stream\\MessagePartStreamDecorator') /var/www/html/vendor/zbateson/mail-mime-parser/src/Message/MessagePart.php:25
0.8063 5265800 29. {closure:/var/www/html/vendor/composer/ClassLoader.php:575-577}($file = '/var/www/html/vendor/composer/../zbateson/mail-mime-parser/src/Stream/MessagePartStreamDecorator.php') /var/www/html/vendor/composer/ClassLoader.php:427
0.8069 5336984 30. include('/var/www/html/vendor/zbateson/mail-mime-parser/src/Stream/MessagePartStreamDecorator.php') /var/www/html/vendor/composer/ClassLoader.php:576
I'm using DirectoryTree/ImapEngine on PHP 8.4.11 which throws a fatal error in your library: