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