1 unstable release
0.1.0 | Oct 6, 2021 |
---|
#221 in Email
22KB
245 lines
Emlx Parser
Parses Apple Mail.app Emlx
Files.
Retrives the actual message, meta information as plist, and the flags of the message.
The actual message is returned as a &[u8]
slice in the eml
format and can then be parsed with other Rust eml
parsers, such as eml-parser.
Usage
use emlx;
let contents: &[u8] = ...
let parsed = parse_emlx(contents).unwrap();
// Flags are a struct with boolean and usize values
let is_read = parsed.flags.is_read;
// Dictionary is a key value map to data in the emlx plist part.
let subject = parsed.dictionary["subject"].as_string().unwrap();
// The actual eml message as bytes
let message = std::str::from_utf8(parsed.message).unwrap();
Information on the Emlx
file format was retrieved from these sites:
Test email data came from
Dependencies
~4.5MB
~81K SLoC