zbateson/mail-mime-parser
MIME email message parser
4.0.3
56M downloads/mo
#491 most downloaded on Packagist
zbateson/mail-mime-parser
What this package is like to depend on
Last release 24 days ago
30 Jul 2026
Release timing varies
gaps range from 8 days to 1.2 years
Rarely documented
notes for 10 of 69 stable releases
Nothing withdrawn
no release was ever pulled
11 years old
73 releases · first in 2015
7 releases in the last 12 months
see the full history below
Release timeline
73 releases · Nov 2015 to Jul 2026Releases
latest 60 of 73-
4.0.330 Jul 2026 -
4.0.224 Jun 2026Release notes
Open source →What's Changed
- Strip control characters (CR/LF) from attachment filenames and from decoded header parameter and MIME-encoded-word values -- thanks @iliaal
- Add configurable limits to MIME parsing, each recording a parse error when reached (override via DI config) -- thanks @iliaal:
maxMimePartDepth(default 256) — maximum multipart nesting depthmaxHeaderCount(default 1000) — maximum headers per partmaxHeaderSizeBytes(default 1048576) — maximum total header bytes per part
- Append child parts in O(n) rather than O(n²) -- thanks @iliaal
- Generate MIME boundaries with
random_bytes()-- thanks @iliaal
Security
This release fixes two privately reported vulnerabilities:
- GHSA-36h5-qg4p-q2qf -- CRLF header injection via attachment filename.
- GHSA-f6v3-2qmr-vfjx -- uncontrolled resource consumption (CPU/memory) when parsing untrusted MIME.
Found and reported privately by @iliaal, who also proposed fixes that informed the patches. Upgrading is recommended.
-
4.0.111 Mar 2026 -
4.0.013 Feb 2026 -
3.0.624 Jun 2026Release notes
Open source →What's Changed
- Strip control characters (CR/LF) from attachment filenames and from decoded header parameter and MIME-encoded-word values -- thanks @iliaal
- Add configurable limits to MIME parsing, each recording a parse error when reached (override via DI config) -- thanks @iliaal:
maxMimePartDepth(default 256) — maximum multipart nesting depthmaxHeaderCount(default 1000) — maximum headers per partmaxHeaderSizeBytes(default 1048576) — maximum total header bytes per part
- Append child parts in O(n) rather than O(n²) -- thanks @iliaal.
- Generate MIME boundaries with
random_bytes()-- thanks @iliaal.
Security
This release fixes two privately reported vulnerabilities:
- GHSA-36h5-qg4p-q2qf -- CRLF header injection via attachment filename.
- GHSA-f6v3-2qmr-vfjx -- uncontrolled resource consumption (CPU/memory) when parsing untrusted MIME.
Found and reported privately by @iliaal, who also proposed fixes that informed the patches. Upgrading is recommended.
-
3.0.502 Dec 2025Release notes
Open source → -
3.0.403 Sep 2025Release notes
Open source →What's Changed
- Fix getAttachmentPart typo in IMessage.php docs by @seanmckenzie428 in #245
New Contributors
- @seanmckenzie428 made their first contribution in #245
Full Changelog: 3.0.3...3.0.4
-
3.0.310 Aug 2024Release notes
Open source →- Fix to allow empty address groups #241
- Ignore ws between rfc2047 parts in q-part #240
- Fix PartBuilder parent parameter type
Full Changelog: 3.0.2...3.0.3
-
3.0.201 May 2024Release notes
Open source →What's Changed
- Replace global DI library functions with corresponding objects for PRS-4 compliance by @phpfui in #238
Full Changelog: 3.0.1...3.0.2
-
3.0.129 Apr 2024 -
3.0.023 Apr 2024Nothing published for this version
-
3.0.0-beta.223 Apr 2024 pre-releaseNothing published for this version
-
3.0.0-beta15 Apr 2024 pre-releaseNothing published for this version
-
2.4.128 Apr 2024Nothing published for this version
-
2.4.014 Feb 2023Nothing published for this version
-
2.3.030 Jan 2023Nothing published for this version
-
2.2.328 Sep 2022Nothing published for this version
-
2.2.201 Sep 2022Nothing published for this version
-
2.2.122 Feb 2022Nothing published for this version
-
2.2.025 Jan 2022Nothing published for this version
-
2.1.108 Dec 2021Nothing published for this version
-
2.1.009 Nov 2021Nothing published for this version
-
2.0.107 Nov 2021Nothing published for this version
-
2.0.023 Aug 2021Nothing published for this version
-
2.0.0-beta.120 Aug 2021 pre-releaseNothing published for this version
-
2.0.0-beta06 Aug 2021 pre-releaseNothing published for this version
-
1.3.306 Nov 2021Nothing published for this version
-
1.3.208 Jul 2021Nothing published for this version
-
1.3.102 Dec 2020Nothing published for this version
-
1.3.021 Oct 2020Nothing published for this version
-
1.2.325 Sep 2020Nothing published for this version
-
1.2.216 Jul 2020Nothing published for this version
-
1.2.110 Apr 2020Nothing published for this version
-
1.2.009 Jan 2020Nothing published for this version
-
1.1.820 Nov 2019Nothing published for this version
-
1.1.714 Nov 2019Nothing published for this version
-
1.1.624 Sep 2019Nothing published for this version
-
1.1.526 Mar 2019Nothing published for this version
-
1.1.421 Mar 2019Nothing published for this version
-
1.1.308 Mar 2019Nothing published for this version
-
1.1.224 Dec 2018Nothing published for this version
-
1.1.118 Oct 2018Nothing published for this version
-
1.1.030 Sep 2018Nothing published for this version
-
1.0.013 Aug 2018Nothing published for this version
-
0.4.1324 Dec 2018Nothing published for this version
-
0.4.1217 Oct 2018Nothing published for this version
-
0.4.1121 Sep 2018Nothing published for this version
-
0.4.1015 Jul 2018Nothing published for this version
-
0.4.918 Apr 2018Nothing published for this version
-
0.4.807 Feb 2018Nothing published for this version
-
0.4.705 Jan 2018Nothing published for this version
-
0.4.616 Nov 2017Nothing published for this version
-
0.4.511 Oct 2017Nothing published for this version
-
0.4.410 Jul 2017Nothing published for this version
-
0.4.305 Apr 2017Nothing published for this version
-
0.4.202 Apr 2017Nothing published for this version
-
0.4.105 Mar 2017Nothing published for this version
-
0.4.002 Feb 2017Nothing published for this version
-
0.3.322 Dec 2016Nothing published for this version
-
0.3.215 Dec 2016Nothing published for this version