1use thiserror::Error;
2
3#[derive(Error, Debug, Clone, PartialEq)]
4pub enum MailParsingError {
5 #[error("invalid header: {0}")]
6 HeaderParse(String),
7 #[error("Header {0} not found in mime part")]
8 MissingHeader(String),
9 #[error("Unknown Mime-Version: {0}")]
10 UnknownMimeVersion(String),
11 #[error("Invalid Content-Transfer-Encoding: {0}")]
12 InvalidContentTransferEncoding(String),
13 #[error("parsing body: {0}")]
14 BodyParse(String),
15 #[error("Unexpected MimePart structure during write_message: {0}")]
16 WriteMessageWtf(&'static str),
17 #[error("IO error during write_message")]
18 WriteMessageIOError,
19 #[error("Error building message: {0}")]
20 BuildError(&'static str),
21 #[error("Error parsing Date header: {0}")]
22 ChronoError(chrono::format::ParseError),
23 #[error("Mime Tree has too many child parts")]
24 TooManyParts,
25}