Kevin Schoon 7 months ago
20 commits
976e385a 976e385a35d006eb831d393fce0828161b772b48
partially implement EXPN and VRFY commands
File Commit Size Mode Time
.gitignore flesh out modules for the maitred crate, implement a very br… 7 B -rw-r--r-- 8 months ago
Cargo.lock partially implement EXPN and VRFY commands 45.9 KiB -rw-r--r-- 7 months ago
Cargo.toml flesh out modules for the maitred crate, implement a very br… 75 B -rw-r--r-- 8 months ago
LICENSE add license 33.7 KiB -rw-r--r-- 8 months ago
README.md implement 8BITMIME 2.4 KiB -rw-r--r-- 8 months ago
cmd refactor to not use explicit config structs NaN B d--------- 8 months ago
maitred partially implement EXPN and VRFY commands NaN B d--------- 7 months ago
rfcs partially implement EXPN and VRFY commands NaN B d--------- 7 months ago
scripts write several tests, various refactoring 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