# 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’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:

- lazr.smtptest
- benjamin-bader/aiosmtp
- Mailman 3’s LMTP server

`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

## Other references

- Wikipedia page on SMTP
- asyncio module documentation
- Developing with asyncio
- Python issue #25508 which started the whole thing.