Overview
Comment: | use LMTP for socket server |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
51adce1e7e85ed9a5c33a50e44d6a8cd |
User & Date: | arcade on 2024-05-22 13:31:58.009 |
Other Links: | manifest | tags |
Context
2024-05-22
| ||
13:39 | mess with header/body formatting check-in: 667b874fdb user: arcade tags: trunk | |
13:31 | use LMTP for socket server check-in: 51adce1e7e user: arcade tags: trunk | |
13:00 | well, it kindda works... check-in: 61238a3618 user: arcade tags: trunk | |
Changes
Modified src/main.rs
from [9d854f6a4d]
to [e0c853214b].
1 2 3 4 5 6 7 8 9 | use anyhow::Result; use async_std::task; use samotop::{ mail::{ Builder, DebugService, MailDir, Name }, | | > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | use anyhow::Result; use async_std::task; use samotop::{ mail::{ Builder, DebugService, MailDir, Name }, smtp::{ SmtpParser, Prudence, }, }; use telegram_bot::{ Api, ParseMode, SendMessage, UserId, }; |
︙ | ︙ | |||
222 223 224 225 226 227 228 | .add_source(config::File::with_name("smtp2tg.toml")) .build().unwrap(); 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 + | < < | > > | | > > > | | > | 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 | .add_source(config::File::with_name("smtp2tg.toml")) .build().unwrap(); 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 + 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" => { 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(); }, }; } |