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 | ✅ | |
✅ | ||
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 | TODO | RFC1870 |
PIPELINING | TODO | RFC2920 |
8BITMIME | TODO | 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.