mirror of
https://github.com/itflow-org/itflow
synced 2026-06-14 13:51:05 +00:00
Replace webklex/php-imap with directorytree/imapengine in the ticket email parser. ImapEngine is pure PHP over sockets. Parser improvements: - Wrap per-message processing in try/catch so one malformed email can't abort the run; failures are flagged and logged with UID - Query unseen + unflagged so previously-failed (flagged) messages are no longer re-processed on every cron run - Skip vacation/auto-responder emails (RFC 3834) to prevent mail loops with the ticket auto-reply - Cap messages per run (50) and attachment size (15MB); inline images over 2MB are stored as attachments instead of base64-embedded in ticket details - Atomic lock file creation - preg_quote() the ticket prefix in subject matching - Dedupe CC watchers and exclude the sender - Map webklex 'tls' encryption setting to STARTTLS for compatibility NDR/DSN parsing now walks MIME parts via the underlying zbateson parser instead of relying on attachment extraction.
962 B
962 B
Note about upgrading: Doctrine uses static and runtime mechanisms to raise awareness about deprecated code.
- Use of
@deprecateddocblock that is detected by IDEs (like PHPStorm) or Static Analysis tools (like Psalm, phpstan) - Use of our low-overhead runtime deprecation API, details: https://github.com/doctrine/deprecations/
Upgrade to 3.0.0
Doctrine\Common\Lexer\Token no longer implements ArrayAccess.
Parameter type declarations have been added to
Doctrine\Common\Lexer\AbstractLexer and Doctrine\Common\Lexer\Token.
You should add both parameter type declarations and return type declarations to
your lexers, based on the @return phpdoc.
Upgrade to 2.0.0
AbstractLexer::glimpse() and AbstractLexer::peek() now return
instances of Doctrine\Common\Lexer\Token, which is an array-like class
Using it as an array is deprecated in favor of using properties of that class.
Using count() on it is deprecated with no replacement.