Kevin Schoon 8 months ago
39 commits
8bae5abc 8bae5abc6d179cd6bb9e81918c68fe0ea2dc91f8
fixup transport error handling
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 finish milter with asynchronous background worker 22.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 refactor all configurable closures as traits again NaN B d--------- 8 months ago
maitred fixup transport error handling NaN B d--------- 8 months ago
rfcs partially implement EXPN and VRFY commands NaN B d--------- 8 months ago
scripts finish milter with asynchronous background worker NaN B d--------- 8 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