/msg-parser-rs

Outlook Email Message Parser

Primary LanguageRustMIT LicenseMIT

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