Files
itflow/plugins/vendor/symfony/mime/CHANGELOG.md
johnnyq 2204bd52f4 Rewrite email parser using ImapEngine, harden processing loop
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.
2026-06-12 16:56:39 -04:00

1.3 KiB

CHANGELOG

8.0

  • Replace __sleep/wakeup() by __(un)serialize() on AbstractPart implementations

7.4

  • Deprecate implementing __sleep/wakeup() on AbstractPart implementations; use __(un)serialize() instead

7.0

  • Remove Email::attachPart(), use Email::addPart() instead
  • Argument $body is now required (at least null) in Message::setBody()
  • Require explicit argument when calling Message::setBody()

6.3

  • Support detection of related parts if Content-Id is used instead of the name
  • Add TextPart::getDisposition()

6.2

  • Add File
  • Deprecate Email::attachPart(), use addPart() instead
  • Deprecate calling Message::setBody() without arguments

6.1

  • Add DataPart::getFilename() and DataPart::getContentType()

6.0

  • Remove Address::fromString(), use Address::create() instead
  • Remove Serializable interface from RawMessage

5.2.0

  • Add support for DKIM
  • Deprecated Address::fromString(), use Address::create() instead

4.4.0

  • [BC BREAK] Removed NamedAddress (Address now supports a name)
  • Added PHPUnit constraints
  • Added AbstractPart::asDebugString()
  • Added Address::fromString()

4.3.3

  • [BC BREAK] Renamed method Headers::getAll() to Headers::all().

4.3.0

  • Introduced the component as experimental