use std::{borrow::Cow, env, error::Error};
use io_smtp::{
client::SmtpClientStd,
rfc5321::types::{domain::Domain, ehlo_domain::EhloDomain},
};
use pimalaya_stream::{sasl::Sasl, tls::Tls};
use url::Url;
fn main() -> Result<(), Box<dyn Error>> {
env_logger::init();
let url = Url::parse(&env::var("URL")?)?;
let domain = env::var("DOMAIN").unwrap_or_else(|_| "localhost".to_string());
let domain = EhloDomain::Domain(Domain(Cow::Owned(domain)));
let tls = Tls::default();
let mut client = SmtpClientStd::connect(&url, &tls, false, domain.clone(), None::<Sasl>)?;
let capabilities = client.ehlo(domain)?;
for capability in capabilities {
println!("{capability}");
}
Ok(())
}