smtpbis
smtpbis copied to clipboard
Crosslinking Samotop
Hi,
- Would you link Samotop and smtpbit projects?
- Would you have anything to add to my link? I'm adding info about existing company, such as:
-
smtpbis and rustyknife by Jonathan Bastien-Filiatrault are SMTP libraries on async and tokio.
- same: async.
- different: Samotop moved to async-std, smtpbis is on tokio.
- ...
-
mailin by Saul Hazledine is quite similar to samotop:
- same: recent activity (Mailin last commits: Feb 2020)
- same: enables writing SMTP servers in Rust.
- same: includes SMTP parsing, responding and an SMTP state machine.
- different: Samotop uses PEG, Mailin uses Nom to define the SMTP parser.
- different: Samotop is async while Mailin runs on bare std blocking IO. Async introduces more dependencies, but allows us to shift to the new IO paradigm. In Samotop, the SMTP session is handled as a stream of commands and responses. Mailin uses a threadpool to schedule work, Samotop can run on a single thread thanks to async.
- not too different: samotop includes a default TCP server and enables the user to implement it differently, mailin expects the user to provide a socket but a TCP server is available in mailin-embedded. Thanks to this, Mailin alone has much smaller dependency footprint. Samotop may follow suit to split the crates.
- ...
So hopefully people searching for SMTP libs will find them all at once :) not like me
It would be my pleasure, I did not know of Samotop.
In the "different" category, smtpbis is meant for rather low level interfacing.
I'll write something up soon and submit it as a PR for this issue.