email_clients/
errors.rs

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}