Introduction
This library provides an asyncio
-based implementation of a server for
RFC 5321 -
Simple Mail Transfer Protocol (SMTP) and
RFC 2033 -
Local Mail Transfer Protocol (LMTP). It is derived from
Python 3.5’s smtpd.py
standard library module, and provides both a command line interface and an API
for use in testing applications that send email.
Inspiration for this library comes from several other packages:
aiosmtpd
takes the best of these and consolidates them in one place.
Relevant RFCs
RFC 5321 - Simple Mail Transfer Protocol (SMTP)
RFC 2033 - Local Mail Transfer Protocol (LMTP)
RFC 2034 - SMTP Service Extension for Returning Enhanced Error Codes
RFC 6531 - SMTP Extension for Internationalized Email
RFC 4954 - SMTP Service Extension for Authentication
RFC 5322 - Internet Message Format
RFC 3696 - Application Techniques for Checking and Transformation of Names
RFC 2034 - SMTP Service Extension for Returning Enhanced Error Codes
RFC 1870 - SMTP Service Extension for Message Size Declaration
Other references
Python issue #25008 which started the whole thing.