Barry Warsaw aiosmtpd A better asyncio based SMTP server PyCon 2017

Sdílet
Vložit
  • čas přidán 7. 08. 2024
  • "Speaker: Barry Warsaw
    smtpd.py has been in the standard library for many years. It's been a common tool for deploying SMTP and LMTP servers that handle email-based communication in Python, providing both basic protocol implementations and a fundamental module for higher level tools, such as lazr.smtptest for testing email clients. Based on asyncore and asynchat, smtpd.py is showing its age, and its API is unwieldy.
    Fortunately, there's a new alternative available. aiosmtpd is a modern reinvention based on asyncio, with all the improvements that come along with such a new implementation. It provides servers for both the SMTP and LMTP protocols, as well as a higher level ""controller"" API for testing SMTP and LMTP clients. It exposes a much better API for customization, allowing the user to associate a simple ""handler"" to process incoming messages without having to worry about the details of the protocols, and it provides some useful hooks for subclassing.
    This talk will describe the purpose and history of smtpd.py and aiosmtpd, show how users can extend the servers and implement specialized handlers, and show how applications can use the testing API for ensuring that their email sending applications do the right things. Examples will be taken from GNU Mailman 3, which uses aiosmtpd extensively.
    Slides can be found at: speakerdeck.com/pycon2017 and github.com/PyCon/2017-slides"

Komentáře • 1

  • @Zitrone0199
    @Zitrone0199 Před 7 lety

    Actually the first ESMTP RFC was released 1995: tools.ietf.org/html/rfc1869
    But Berry Warsaw is right that the current ESMTP RFC is RFC 5321 from 2008.