Description
Sadly, this repo has not been updated in more than 3 years and it doesn't look like it will ever be. The library is pretty nice, it just misses some important functionality regarding content-transfer-encoding which was provided by PRs but never merged.
So I decided to create the new fork with CI and integrate all open PRs into it:
- Add support for uppercase encodings #42 MERGED make encoding case-insensitive
- Check for attachments before jumping into switch/case statement #41 MERGED to allow attaching text/html attachments
- fix(content-type-encoding): Added support for quoted printable content type encoding #39 MERGED (test case only as quoted-printable implemented by another PR) adds quoted-printable
- fix: inner mime type quoted-printable #38 MERGED use NextRawPart instead of NextPart and decode content the same way as the rest of the library
- Add 8bit and binary decoding support #37 MERGED TODO NEEDS MANUAL FIX TO AVOID RE-ENCODE Add 8bit and binary decoding support
- Add support binary encoding #31 SKIPPED incomplete duplicate of 37
- Added parsing attachments in non-multipart emails #29 MERGED Parse email with just a binary attachment and no text
- converts encoding to lowercase #28 SKIPPED duplicate of 42
- handle lower encoding, add quoteprintable, fix attachment handling, f… #26 MERGED Decode content with supported Content-Encoding everywhere
- Find Attachments, dont matter the content-type msg #25 SKIPPED duplicate of 26
- Support to Encapsulated Messages (message/rfc822) inside multipart/mixed #27 TODO: Support to Encapsulated Messages (message/rfc822) inside multipart/mixed
- Decode text/plain and text/html body with encoding #24 MERGED (test case for base64 encoding only)
Some of them required manual merging but the resulting code should be correct, hopefully.
The fork is a drop-in replacement (just change the import to github.com/k3a/parsemail
). I will attempt to keep the API the same. If you miss some functionality, feel free to contribute to the fork.
I've also made a separate branch with integrated PRs which is directly mergeable into this original repo in case it resurrects but I won't update that branch going forward.