#msg #outlook #parser #ole

msg_parser

Outlook Email Message (.msg) parser

2 releases

0.1.1 Sep 10, 2022
0.1.0 Mar 14, 2021

#162 in Email

Download history 14/week @ 2024-12-25 67/week @ 2025-01-01 34/week @ 2025-01-08 220/week @ 2025-01-15 27/week @ 2025-01-22 23/week @ 2025-01-29 59/week @ 2025-02-05 57/week @ 2025-02-12 59/week @ 2025-02-19 24/week @ 2025-02-26 31/week @ 2025-03-05 32/week @ 2025-03-12 44/week @ 2025-03-19 1/week @ 2025-03-26 38/week @ 2025-04-02 120/week @ 2025-04-09

205 downloads per month

MIT license

4MB
2.5K SLoC

Contains (Cab file, 2MB) data/unicode.msg, (Cab file, 1MB) data/test_email.msg, (Cab file, 730KB) data/test_email_1.msg, (Cab file, 1MB) data/test_email_2.msg, (Cab file, 195KB) data/attachment.msg, (Cab file, 220KB) data/test_email_3.msg and 1 more.

Outlook Email Messsage (.msg) parser.

Crates.io docs.rs Build Status

A simple parser and reader to deserialize a given Outlook Email Message (.msg) File.

Usage

Add this to your Cargo.toml file:

[dependencies]
msg_parser = "0.1.1"

Example

use msg_parser::Outlook;

fn main() {
    // Create Outlook object
    let outlook = Outlook::from_path("data/test_email.msg").unwrap();

    // Flush as json string
    let json_string = outlook.to_json();

    println!("{:#?}", outlook);
    
    println!();
    println!("json_string ---");
    println!("{:?}", json_string);
}

Requirements

  • Rust 1.42+

Running the given example

$ cargo run --example parse-email
   Compiling msg_parser v0.1.0 (msg-parser)
    Finished dev [optimized + debuginfo] target(s) in 3.66s
     Running `target/debug/examples/parse-email`
Outlook {
    headers: TransportHeaders {
        content_type: "",
        date: "",
        message_id: "",
        reply_to: "",
    },
    sender: Person {
        name: "",
        email: "",
    },
    ...<clip>
}

Running tests

cargo t --verbose

Building release

cargo b --release

Contributions

Feel free to make pull requests to contribute/enhance/add more features/bug fixes.


License: MIT

Dependencies

~2.8–4.5MB
~88K SLoC