#mime #multipart #mixed


MIME multipart parsing, construction, and streaming

19 releases

0.6.0 Oct 1, 2020
0.5.2 Mar 28, 2019
0.5.1 Sep 10, 2017
0.5.0 Mar 11, 2017
0.2.3 Jul 29, 2016

#24 in Email

Download history 589/week @ 2020-06-28 333/week @ 2020-07-05 466/week @ 2020-07-12 368/week @ 2020-07-19 328/week @ 2020-07-26 331/week @ 2020-08-02 356/week @ 2020-08-09 328/week @ 2020-08-16 383/week @ 2020-08-23 398/week @ 2020-08-30 505/week @ 2020-09-06 471/week @ 2020-09-13 512/week @ 2020-09-20 756/week @ 2020-09-27 798/week @ 2020-10-04 839/week @ 2020-10-11

1,777 downloads per month
Used in 19 crates (4 directly)


845 lines


MIT licensed Apache-2.0 licensed

Rust library for MIME multipart parsing, construction, and streaming

This crate predates rust async support. It will remain pre-async to support codebases which aren't intending to be rewritten under the async methodology. That means we will remain on hyper 0.10.

Documentation is available at https://docs.rs/mime-multipart


  • Parses from a stream, rather than in memory, so that memory is not hogged.
  • Streams parts which are identified as files (via the part's Content-Disposition header, if any, or via a manual override) to files on disk.
  • Uses buffered streams.
  • Lets you build and stream out a multipart as a vector of parts (Nodes), some of which could be files, others could be nested multipart parts.

If you are specifically dealing with multipart/formdata, you may be interested in https://github.com/mikedilger/formdata which uses this crate and takes it a step further.


Licensed under either of

at your option.


Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.


~119K SLoC