Add a method to access the raw version of attachments #125
+12
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Our system sometimes receives emails where the attachments have the wrong mime type. For instance, a PNG attachment might come in with the content-type set to
text/plain.mail-parserhelpfully decodestext/plaininto valid utf8, which means that non-utf8 byte sequences get replaced by “�” (U+FFFD), destroying the content. Then, there is no way to recover the original contents of the file if later down the line we decide we would like to reinterpret the attachment as non-text.I have patched the library to add a
raw_bodynext to thebodyfor attachments, which always returns the bytes regardless of PartType, and we are using this as an internal fork for now, but it would be a lot nicer if we can get the feature (in this form or some other way) upstreamed and move back to upstream stalwartlabs/mail-parser.