1use std::fs::File;
2use std::io::{Read, Write};
3
4fn main() -> Result<(), Box<dyn std::error::Error>> {
5 let path = std::env::args().nth(1)
6 .ok_or("Provide path to a TNEF file (winmail.dat)".to_string())?;
7 let mut f = File::open(path)?;
8 let mut buf = vec![];
9 f.read_to_end(&mut buf)?;
10
11 for a in tnef::read_attachments(&buf)? {
12 println!("\
13 Title: {:?}\nCreate date: {:?}\nModify date: {:?}\n\
14 Data len: {:?}\nMeta len: {:?}\n\
15 Transport filename: {:?}\nRendering data: {:?}\n\
16 Props len: {:?}\n\
17 ",
18 a.title,
19 a.create_date,
20 a.modify_date,
21 a.data.len(),
22 a.meta.map(|v| v.len()),
23 a.transport_filename,
24 a.rend_data,
25 a.props.len(),
26 );
27 File::create(a.title)?.write_all(a.data)?;
28 }
29 Ok(())
30}