Mail Mime Parser Versions Save

An email parser written in PHP

2.2.0

2 years ago

Fixes:

  • References header decoding problem #186 - IdHeader can now accept a mix of mime-encoded and non-mime-encoded parts
  • Issue with parsing ReceivedHeaders #183

2.1.1

2 years ago

#184 Adding #[\ReturnTypeWillChange] for PHP8.1 compatibility

Thanks @phpfui

2.1.0

2 years ago

Fixes #165 -- separates email address parsing into its own consumer so invalid characters can be ignored within an '<' and '>' chars representing the email address.

2.0.1

2 years ago

Fix an issue parsing long RFC2231 header values #182

1.3.3

2 years ago

Fixes #182

2.0.0

2 years ago

Huge thank you to the project sponsors who helped make this release happen.

  • Use pimple/pimple for di, refactor initialization:
    • Reconfigure the dependency container entirely, call MailMimePaser::setDependencyContainer
    • Add providers, call MailMimeParser::configureDependencyContainer with an array of providers
  • Parser improvements:
    • Modular parsing separated into classes for better extensibility
    • Dynamic/proxied parsing based on user requests (looking at message headers won't parse all content/children and is therefore very very fast even on larger messages)
    • Stream is no longer copied first, but must be closed after the message object is destroyed (or can be attached to the message)
  • Define and use interfaces instead of concrete classes for better extensibility, change of internal hierarchy that didn't make sense
    • IMessagePart instead of MessagePart, IMimePart instead of MimePart, IUUEncodedPart instead of UUEncodedPart, IMultiPart is new, IMessage instead of Message. HeaderPart and ParentHeaderPart no longer exist.
  • Remove deprecated resource handle methods:
    • Removes IMessage::getTextResourceHandle, IMessage::getHtmlResourceHandle and IMessagePart::getContentResourceHandle
  • Filtering parts is now done with simple callbacks. PartFilter is now just a convenience class with static methods that provides filtering callbacks instead of a concrete class used for filtering.
  • Other minor changes of note:
    • MimePart::getContentDisposition for a MimePart is now limited to returning 'inline' or 'attachment' even if the header has a different value.
    • IMultiPart::removeAllParts now returns the number of parts removed.

2.0.0-beta.1

2 years ago

Proxy parser refactor/fix, testing, documentation.

2.0.0-beta

2 years ago

Thanks to my sponsors @SecuMailer, @mxguardian and @ericlbarnes

Changes and progress (and any issues you find) in #171

1.3.2

2 years ago

Adds support for guzzlehttp/psr7 v2, thanks to @Nielsvanpach

1.3.1

3 years ago

Fixes "SplFixedArray usage is incompatible with PHP 8.0" #151 thanks to @phpfui in #154