use crate::config::TlsVerify;
pub trait SmtpTransport {
type Error: std::error::Error + Send + Sync + 'static;
fn read(&mut self, buf: &mut [u8]) -> Result<usize, Self::Error>;
fn write_all(&mut self, data: &[u8]) -> Result<(), Self::Error>;
fn upgrade_tls(&mut self, host: &str, tls_verify: &TlsVerify) -> Result<(), Self::Error>;
}