aiosmtpd

Provides an asynchronous, RFC 5321 compliant Simple Mail Transfer Protocol (SMTP) server that supports customizable extensions.

Author:

The aiosmtpd Developers

Date:

2024-03-27

Copyright:

2015-2024, The aiosmtpd Developers

Version:

1.4.5

Manual section:

1

SYNOPSIS

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

Additional arguments passed to the handler CLASS.

-h, --help

show this help message and exit

-v, --version

show program’s version number and exit

-n, --nosetuid

This program generally tries to setuid nobody, unless this flag is set. The setuid call will fail if this program is not run as root (in which case, use this flag).

-c <CLASSPATH>, --class <CLASSPATH>

Use the given class, as a Python dotted import path, as the handler class for SMTP events. This class can process received messages and do other actions during the SMTP dialog. Uses aiosmtpd.handlers.Debugging by default.

-s <SIZE>, --size <SIZE>

Restrict the total size of the incoming message to SIZE number of bytes via the RFC 1870 SIZE extension. Defaults to 33,554,432 bytes.

-u, --smtputf8

Enable the SMTPUTF8 extension as defined in RFC 6531.

-d, --debug

Increase debugging output. Every -d increases debugging level by one.

-l <[HOST][:PORT]>, --listen <[HOST][:PORT]>

Optional host and port to listen on. If the PORT part is not given, then port 8025 is used. If only :PORT is given, then localhost is used for the hostname. If neither are given, localhost:8025 is used.

--smtpscert <CERTFILE>

The certificate file for implementing SMTPS. If given, the parameter --smtpskey must also be specified.

--smtpskey <KEYFILE>

The key file for implementing SMTPS. If given, the parameter --smtpscert must also be specified.

--tlscert <CERTFILE>

The certificate file for implementing STARTTLS. If given, the parameter --tlskey must also be specified.

--tlskey <KEYFILE>

The key file for implementing STARTTLS. If given, the parameter --tlscert must also be specified.

--no-requiretls

If specified, disables require_starttls of the SMTP class. (By default, require_starttls is True.) Has no effect if --tlscert and --tlskey are not specified.

ENVIRONMENT

AIOSMTPD_CONTROLLER_TIMEOUT
How long the main thread will wait (in seconds) until the SMTP thread is ready.
Default: 1.0