Skip to content
Clone
d5939db
29 lines 1.1 KB Rust
#[derive(Debug, thiserror::Error)]
pub enum EmailError {
#[error("queue error: {0}")]
Queue(#[from] queue::QueueError),
#[error("serde error: {0}")]
Serde(#[from] serde_json::Error),
#[error("lettre smtp error: {0}")]
Lettre(#[from] lettre::transport::smtp::Error),
#[error("lettre address error: {0}")]
Address(#[from] lettre::address::AddressError),
#[error("lettre error: {0}")]
LettreOther(#[from] lettre::error::Error),
#[error("handlebars render error: {0}")]
Template(#[from] handlebars::RenderError),
#[error("handlebars template error: {0}")]
TemplateRegister(#[from] handlebars::TemplateError),
#[error("template not found: {0}")]
TemplateNotFound(String),
#[error("config invalid: {0}")]
Config(String),
#[error("base64 decode: {0}")]
Base64(#[from] base64::DecodeError),
#[error("attachment too large: {0} bytes exceeds limit {1}")]
AttachmentTooLarge(usize, usize),
#[error("missing required: {0}")]
Missing(String),
#[error("io: {0}")]
Io(#[from] std::io::Error),
}