1use thiserror::Error;
4
5#[derive(Error, Debug)]
7pub enum ParseError {
8 #[error("Failed to parse email structure: {0}")]
10 Structure(String),
11
12 #[error("Failed to decode content: {0}")]
14 Decode(String),
15
16 #[error("Missing required header: {0}")]
18 MissingHeader(String),
19
20 #[error("Invalid header format for {header}: {details}")]
22 InvalidHeader { header: String, details: String },
23
24 #[error("Invalid date format: {0}")]
26 InvalidDate(String),
27}
28
29pub type Result<T> = std::result::Result<T, ParseError>;