Index: src/main.rs ================================================================== --- src/main.rs +++ src/main.rs @@ -5,11 +5,14 @@ Builder, DebugService, MailDir, Name }, - smtp::Prudence, + smtp::{ + SmtpParser, + Prudence, + }, }; use telegram_bot::{ Api, ParseMode, SendMessage, @@ -224,23 +227,27 @@ let core = TelegramTransport::new(&settings); let maildir: PathBuf = settings.get_string("maildir").unwrap().into(); let listen_on = settings.get_string("listen_on").unwrap(); let sink = Builder + Name::new("smtp2tg") + DebugService + - samotop::smtp::Esmtp.with(samotop::smtp::SmtpParser) + my_prudence() + - //TelegramTransport::new(&settings); - MailDir::new(maildir.clone()).unwrap(); + my_prudence() + MailDir::new(maildir.clone()).unwrap(); task::spawn(async move { loop { relay_mails(&maildir, &core).unwrap(); task::sleep(Duration::from_secs(5)).await; } }); match listen_on.as_str() { - "socket" => samotop::server::UnixServer::on("./smtp2tg.sock") - .serve(sink.build()).await.unwrap(), - _ => samotop::server::TcpServer::on(listen_on) - .serve(sink.build()).await.unwrap(), + "socket" => { + let sink = sink + samotop::smtp::Lmtp.with(SmtpParser); + samotop::server::UnixServer::on("./smtp2tg.sock") + .serve(sink.build()).await.unwrap(); + }, + _ => { + let sink = sink + samotop::smtp::Esmtp.with(SmtpParser); + samotop::server::TcpServer::on(listen_on) + .serve(sink.build()).await.unwrap(); + }, }; }