#![cfg(feature = "std")] use std::{ env, net::{Shutdown, TcpStream}, }; use rip_starttls::imap::std::RipStarttls; fn main() { env_logger::builder().is_test(true).init(); let host = env::var("HOST").expect("HOST should be defined"); let port: u16 = env::var("PORT") .expect("PORT should be defined") .parse() .expect("PORT should be an unsigned integer"); println!("connecting to {host}:{port} using TCP…"); let tcp_stream = TcpStream::connect((host.as_str(), port)).expect("should connect to TCP stream"); println!("preparing TCP connection for STARTTLS…"); let tcp_stream = RipStarttls::default() .do_starttls_prefix(tcp_stream) .expect("should prepare TCP stream for IMAP STARTTLS"); println!("connection TLS-ready, disconnecting…"); tcp_stream .shutdown(Shutdown::Both) .expect("should close TCP stream"); }