unit class SMTPd; use IO::Socket::Async::SSL; has $.port; has $.debug; has $.raw; has $.socket; has $.tls; has $.ssl; has $.plain; method new(:$port = 587, :$raw, :$debug, :$ssl, :$starttls, :$plain, :$socket = IO::Socket::Async ) { say "Port: $port"; if ( $port <= 1024 ) { die "Sadly, Privileged Port $port Requires Root" unless $*USER.Numeric == 0; } react { whenever IO::Socket::Async.listen('0.0.0.0', '2525' ) -> $conn { whenever $coonn { whenever $conn.print: "OK\r\n" { $conn.close; } } } } }