use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
pub enum EmailTlsMode {
ImplicitTls,
StartTls,
Plain,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct EmailChannel {
pub smtp_host: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub smtp_port: Option<u16>,
pub tls_mode: EmailTlsMode,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub username: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
pub from: String,
pub to: Vec<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub reply_to: Option<String>,
}