AIOSMTPD(1)

✨ NAME ✨

Okay bestie, welcome to aiosmtpd(1) πŸ’– The name is aiosmtpd, an asyncio based SMTP server 🧚

It's an asynchronous, RFC 5321 compliant Simple Mail Transfer Protocol (SMTP) server πŸ’Œ and it supports customizable extensions, so you can make it your own πŸŽ€

  • Author β€” The aiosmtpd Developers
  • Date β€” 2025-03-23
  • Copyright β€” 2015-2022, The aiosmtpd Developers
  • Version β€” 1.4.6
  • Manual section β€” 1

✨ SYNOPSIS ✨

Here's the vibe for how you call it πŸ’…

usage: aiosmtpd [-h] [-v] [-n] [-c CLASSPATH] [-s SIZE] [-u] [-d]
                [-l [[HOST][:PORT]]] [--smtpscert CERTFILE]
                [--smtpskey KEYFILE] [--tlscert CERTFILE] [--tlskey KEYFILE]
                [--no-requiretls]
                [CLASSARGS ...]

✨ Options ✨

  • CLASSARGS β€” Extra arguments that get passed along to the handler CLASS 🧚
  • -h, --help β€” Shows the help message and exits 🌸
  • -v, --version β€” Shows the program's version number and exits πŸ¦‹
  • -n, --nosetuid β€” Normally this program tries to setuid nobody πŸ™ˆ but if you set this flag, it won't. The setuid call fails when you're not running as root, so in that case, use this flag πŸ’€
  • -c <CLASSPATH>, --class <CLASSPATH> β€” Picks the handler class for SMTP events, written as a Python dotted import path πŸ’– That class can process received messages and do other stuff during the SMTP dialog. By default it uses aiosmtpd.handlers.Debugging ✨
  • -s <SIZE>, --size <SIZE> β€” Caps the total size of an incoming message at SIZE bytes using the RFC 1870 SIZE extension πŸ“¦ The default is 33,554,432 bytes πŸ‘‘
  • -u, --smtputf8 β€” Turns on the SMTPUTF8 extension from RFC 6531 🌈
  • -d, --debug β€” Cranks up the debugging output πŸ”₯ Every -d you add bumps the debugging level up by one πŸ“ˆ
  • -l <[HOST][:PORT]>, --listen <[HOST][:PORT]> β€” Optional host and port to listen on πŸ¦‹ If you leave out the PORT part, port 8025 is used. If you only give :PORT, the hostname becomes localhost. If you give neither, you get localhost:8025 πŸ“
  • --smtpscert <CERTFILE> β€” The certificate file for SMTPS πŸ” If you use it, you also have to specify --smtpskey 🫢
  • --smtpskey <KEYFILE> β€” The key file for SMTPS πŸ”‘ If you use it, you also have to specify --smtpscert 🫢
  • --tlscert <CERTFILE> β€” The certificate file for STARTTLS πŸ” If you use it, you also have to specify --tlskey 🫢
  • --tlskey <KEYFILE> β€” The key file for STARTTLS πŸ”‘ If you use it, you also have to specify --tlscert 🫢
  • --no-requiretls β€” Turns off require_starttls on the SMTP class πŸ™…β€β™€οΈ By default, require_starttls is True. This does nothing if --tlscert and --tlskey aren't specified πŸ’€

✨ ENVIRONMENT ✨

  • AIOSMTPD_CONTROLLER_TIMEOUT β€” How long the main thread waits (in seconds) for the SMTP thread to be ready ⏰ Default: 1.0

✨ AUTHOR ✨

The aiosmtpd Developers 🫢


2015-2022, The aiosmtpd Developers πŸ’œ


That's the whole tea, bestie! β˜• You just read about aiosmtpd 1.4.6, dated 2025-03-23, and you absolutely slayed it πŸ’…πŸŒΈ

πŸ“¦ where this page comes from