1#[cfg(feature = "smtp")]
2use lettre::address::AddressError;
3use thiserror::Error;
4
5#[derive(Error, Debug)]
6pub enum EmailError {
7 #[cfg(feature = "smtp")]
8 #[error("Invalid address {0}")]
9 AddressError(#[from] AddressError),
10 #[cfg(feature = "smtp")]
11 #[error("Failed to send email {0}")]
12 Lettre(#[from] lettre::error::Error),
13 #[cfg(feature = "smtp")]
14 #[error("Failed to send email {0}")]
15 SmtpError(#[from] lettre::transport::smtp::Error),
16 #[error("Unexpected error: {0}")]
17 UnexpectedError(String),
18 #[cfg(feature = "mailersend")]
19 #[error("Invalid api token for mailsend")]
20 MailsendHeaderError(#[from] reqwest::header::InvalidHeaderValue),
21 #[cfg(feature = "mailersend")]
22 #[error("Failed during making an API request: {0}")]
23 ReqwestError(#[from] reqwest::Error),
24}