Kevin Schoon 8 months ago
24 commits
796a8504 796a8504a17da413b99372d926a68b0b5c1346f2
clean up documentation and improve crate structure
File Commit Size Mode Time
.gitignore flesh out modules for the maitred crate, implement a very br… 7 B -rw-r--r-- 9 months ago
Cargo.lock clean up documentation and improve crate structure 21.6 KiB -rw-r--r-- 8 months ago
Cargo.toml flesh out modules for the maitred crate, implement a very br… 75 B -rw-r--r-- 9 months ago
LICENSE add license 33.7 KiB -rw-r--r-- 9 months ago
README.md finish implementing VRFY and EXPN 2.4 KiB -rw-r--r-- 8 months ago
cmd clean up documentation and improve crate structure NaN B d--------- 8 months ago
maitred clean up documentation and improve crate structure NaN B d--------- 8 months ago
rfcs partially implement EXPN and VRFY commands NaN B d--------- 8 months ago
scripts write several tests, various refactoring NaN B d--------- 9 months ago

maitred

Lightweight embeddable SMTP RFC5321 server for use in applications that need to receive e-mail.

Use Case

The original goal of this library is to have a usable SMTP server that can be embedded in mailing list software, particularly for use in Ayllu and Mailpot. After considering all of the existing SMTP servers there was no Rust library that could be easily embedded in an application and general purpose SMTP servers like Postfix are too complex to be reasonably packaged.

Security

Due to the common abuse of the SMTP protocol by nefarious internet actors the default behavior of this package must never allow open relaying without explicit and conscious configuration from the user. Additionally the SMTP server must never expose the e-mail addresses or other user data contained within.

Alpha Status

NOTE: This library is at best in an “alpha” state currently and should be used for absolutely nothing that is important.

Protocol Status

SMTP Base server and Commands RFC5321

Name Status Notes
HELO
EHLO
MAIL
RCPT
BDAT
DATA
AUTH No authentication mechanisms currently supported
VRFY
EXPN
STARTTLS For the moment there is no plan to implement STARTTLS

ESMTP Extensions

Name Status RFC
SIZE RFC1870
PIPELINING RFC2920
8BITMIME RFC6152
ENHANCED STATUS CODES TODO RFC2920
SMTPUTF8 TODO RFC6531
CHUNKING TODO RFC3030
DSN TODO RFC3461

Attributions

Several of the free software libraries released by stalwart are in use here.

Clone

HTTP

Subscribe

License

AGPL-3.0

Authors

Kevin Schoon: 100%

Analysis