diff --git a/aiosmtpd/__init__.py b/aiosmtpd/__init__.py
index 7403d8e..2124ae5 100644
--- a/aiosmtpd/__init__.py
+++ b/aiosmtpd/__init__.py
@@ -1,4 +1,4 @@
 # Copyright 2014-2021 The aiosmtpd Developers
 # SPDX-License-Identifier: Apache-2.0
 
-__version__ = "1.4.1"
+__version__ = "1.4.2a1"
diff --git a/aiosmtpd/controller.py b/aiosmtpd/controller.py
index 9dee79d..2258c54 100644
--- a/aiosmtpd/controller.py
+++ b/aiosmtpd/controller.py
@@ -27,6 +27,8 @@ from aiosmtpd.smtp import SMTP
 
 AsyncServer = asyncio.base_events.Server
 
+DEFAULT_READY_TIMEOUT: float = 5.0
+
 
 @public
 class IP6_IS:
@@ -106,7 +108,7 @@ class BaseThreadedController(metaclass=ABCMeta):
         handler,
         loop=None,
         *,
-        ready_timeout: float = 1.0,
+        ready_timeout: float,
         ssl_context: Optional[ssl.SSLContext] = None,
         # SMTP parameters
         server_hostname: Optional[str] = None,
@@ -207,7 +209,11 @@ class BaseThreadedController(metaclass=ABCMeta):
                 # See comment about WSL1.0 in the _run() method
                 raise self._thread_exception
             else:
-                raise TimeoutError("SMTP server failed to start within allotted time")
+                raise TimeoutError(
+                    "SMTP server failed to start within allotted time. "
+                    "This might happen if the system is too busy. "
+                    "Try increasing the `ready_timeout` parameter."
+                )
         respond_timeout = self.ready_timeout - (time.monotonic() - start)
 
         # Apparently create_server invokes factory() "lazily", so exceptions in
@@ -222,7 +228,11 @@ class BaseThreadedController(metaclass=ABCMeta):
             # Raise other exceptions though
             raise
         if not self._factory_invoked.wait(respond_timeout):
-            raise TimeoutError("SMTP server not responding within allotted time")
+            raise TimeoutError(
+                "SMTP server started, but not responding within allotted time. "
+                "This might happen if the system is too busy. "
+                "Try increasing the `ready_timeout` parameter."
+            )
         if self._thread_exception is not None:
             raise self._thread_exception
 
@@ -265,7 +275,7 @@ class Controller(BaseThreadedController):
         port: int = 8025,
         loop=None,
         *,
-        ready_timeout: float = 1.0,
+        ready_timeout: float = DEFAULT_READY_TIMEOUT,
         ssl_context: ssl.SSLContext = None,
         # SMTP parameters
         server_hostname: Optional[str] = None,
@@ -317,8 +327,8 @@ class UnixSocketController(BaseThreadedController):  # pragma: on-win32 on-cygwi
         unix_socket: Optional[Union[str, Path]],
         loop=None,
         *,
-        ready_timeout=1.0,
-        ssl_context=None,
+        ready_timeout: float = DEFAULT_READY_TIMEOUT,
+        ssl_context: ssl.SSLContext = None,
         # SMTP parameters
         server_hostname: str = None,
         **SMTP_parameters,
diff --git a/aiosmtpd/docs/NEWS.rst b/aiosmtpd/docs/NEWS.rst
index cb38f44..0e6aff2 100644
--- a/aiosmtpd/docs/NEWS.rst
+++ b/aiosmtpd/docs/NEWS.rst
@@ -3,6 +3,22 @@
 ###################
 
 
+1.4.2 (aiosmtpd-next)
+=====================
+
+Fixed/Improved
+--------------
+* Controller's ``ready_timeout`` parameter increased from ``1.0`` to ``5.0``.
+  This won't slow down Controller startup because it's just a timeout limit
+  (instead of a sleep delay),
+  but this should help prevent Controller from giving up too soon,
+  especially during situations where system/network is a bit busy causing slowdowns.
+  (See #262)
+* Timeout messages in ``Controller.start()`` gets more details and a mention about the
+  ``ready_timeout`` parameter. (See #262)
+
+
+
 1.4.1 (2021-03-04)
 ==================
 
diff --git a/aiosmtpd/docs/controller.rst b/aiosmtpd/docs/controller.rst
index 06a0f3b..d3e08ed 100644
--- a/aiosmtpd/docs/controller.rst
+++ b/aiosmtpd/docs/controller.rst
@@ -283,7 +283,7 @@ Controller API
    handler, \
    loop=None, \
    *, \
-   ready_timeout=1.0, \
+   ready_timeout, \
    ssl_context=None, \
    server_hostname=None, server_kwargs=None, **SMTP_parameters)
 
@@ -292,6 +292,7 @@ Controller API
       If not given, :func:`asyncio.new_event_loop` will be called to create the event loop.
    :param ready_timeout: How long to wait until server starts.
       The :envvar:`AIOSMTPD_CONTROLLER_TIMEOUT` takes precedence over this parameter.
+      See :attr:`ready_timeout` for more information.
    :type ready_timeout: float
    :param ssl_context: SSL Context to wrap the socket in.
        Will be passed-through to  :meth:`~asyncio.loop.create_server` method
@@ -330,7 +331,6 @@ Controller API
 
    .. attribute:: ready_timeout
       :type: float
-      :noindex:
 
       The timeout value used to wait for the server to start.
 
@@ -338,6 +338,11 @@ Controller API
       the :envvar:`AIOSMTPD_CONTROLLER_TIMEOUT` environment variable (converted to float),
       or the :attr:`ready_timeout` parameter.
 
+      Setting this to a high value will NOT slow down controller startup,
+      because it's a timeout limit rather than a sleep delay.
+      However, you may want to reduce the default value to something 'just enough'
+      so you don't have to wait too long for an exception, if problem arises.
+
       If this timeout is breached, a :class:`TimeoutError` exception will be raised.
 
    .. attribute:: server
@@ -430,7 +435,7 @@ Controller API
    hostname=None, port=8025, \
    loop=None, \
    *, \
-   ready_timeout=1.0, \
+   ready_timeout=3.0, \
    ssl_context=None, \
    server_hostname=None, server_kwargs=None, **SMTP_parameters)
 
@@ -488,7 +493,7 @@ Controller API
    unix_socket, \
    loop=None, \
    *, \
-   ready_timeout=1.0, \
+   ready_timeout=3.0, \
    ssl_context=None, \
    server_hostname=None,\
    **SMTP_parameters)

diff --git a/aiosmtpd/tests/test_proxyprotocol.py b/aiosmtpd/tests/test_proxyprotocol.py
index 3e8fb9a..bf7f939 100644
--- a/aiosmtpd/tests/test_proxyprotocol.py
+++ b/aiosmtpd/tests/test_proxyprotocol.py
@@ -38,7 +38,7 @@ from aiosmtpd.smtp import Session as SMTPSession
 from aiosmtpd.tests.conftest import Global, controller_data, handler_data
 
 DEFAULT_AUTOCANCEL = 0.1
-TIMEOUT_MULTIPLIER = 1.5
+TIMEOUT_MULTIPLIER = 2.0
 
 param = pytest.param
 parametrize = pytest.mark.parametrize
diff --git a/aiosmtpd/tests/test_server.py b/aiosmtpd/tests/test_server.py
index a271243..99c5630 100644
--- a/aiosmtpd/tests/test_server.py
+++ b/aiosmtpd/tests/test_server.py
@@ -123,7 +123,11 @@ class TestController:
     @pytest.mark.filterwarnings("ignore")
     def test_ready_timeout(self):
         cont = SlowStartController(Sink())
-        expectre = r"SMTP server failed to start within allotted time"
+        expectre = (
+            "SMTP server failed to start within allotted time. "
+            "This might happen if the system is too busy. "
+            "Try increasing the `ready_timeout` parameter."
+        )
         try:
             with pytest.raises(TimeoutError, match=expectre):
                 cont.start()
@@ -133,7 +137,11 @@ class TestController:
     @pytest.mark.filterwarnings("ignore")
     def test_factory_timeout(self):
         cont = SlowFactoryController(Sink())
-        expectre = r"SMTP server not responding within allotted time"
+        expectre = (
+            r"SMTP server started, but not responding within allotted time. "
+            r"This might happen if the system is too busy. "
+            r"Try increasing the `ready_timeout` parameter."
+        )
         try:
             with pytest.raises(TimeoutError, match=expectre):
                 cont.start()

TimeoutError: SMTP server not responding within allotted time
Hello,
I have similar problem. My project [msztolcman/sendria](https://github.com/msztolcman/sendria) is using `aiosmtpd` to handle incoming smtp connections. It works fine with `aiosmtpd` 1.2.2, but after upgrade to 1.4.1 I have:

```bash
% sendria --db db.sqlite -d -a
2021-03-05T12:36:02.487786Z no PID file specified; runnning in foreground
2021-03-05T12:36:02.487885Z starting Sendria               db=/Users/mysz/Projects/sendria/db.sqlite debug=enabled foreground=true pidfile=None
2021-03-05T12:36:02.491769Z DB initialized
2021-03-05T12:36:02.492011Z webhooks disabled
Traceback (most recent call last):
  File "/Users/mysz/Projects/sendria/.venv/bin/sendria", line 33, in <module>
    sys.exit(load_entry_point('sendria', 'console_scripts', 'sendria')())
  File "/Users/mysz/Projects/sendria/sendria/cli.py", line 296, in main
    run_sendria_servers(loop, args)
  File "/Users/mysz/Projects/sendria/sendria/cli.py", line 176, in run_sendria_servers
    smtp.run(args.smtp_ip, args.smtp_port, args.smtp_auth, args.smtp_ident, args.debug)
  File "/Users/mysz/Projects/sendria/sendria/smtp.py", line 69, in run
    controller.start()
  File "/Users/mysz/Projects/sendria/.venv/lib/python3.9/site-packages/aiosmtpd/controller.py", line 225, in start
    raise TimeoutError("SMTP server not responding within allotted time")
TimeoutError: SMTP server not responding within allotted time
```

Platform data:
```bash
% python --version
Python 3.9.1
% uname -s
Darwin
```
aiosmtpd/tests/test_server.py::TestController::test_ready_timeout aiosmtpd/tests/test_server.py::TestController::test_factory_timeout
aiosmtpd/tests/test_proxyprotocol.py::TestProxyData::test_invalid_version aiosmtpd/tests/test_proxyprotocol.py::TestProxyData::test_invalid_error aiosmtpd/tests/test_proxyprotocol.py::TestProxyData::test_invalid_protocol aiosmtpd/tests/test_proxyprotocol.py::TestProxyData::test_mismatch aiosmtpd/tests/test_proxyprotocol.py::TestProxyData::test_mismatch_raises aiosmtpd/tests/test_proxyprotocol.py::TestProxyData::test_unsetkey aiosmtpd/tests/test_proxyprotocol.py::TestProxyData::test_unknownkey aiosmtpd/tests/test_proxyprotocol.py::TestProxyData::test_unknownkey_raises aiosmtpd/tests/test_proxyprotocol.py::TestProxyData::test_tlv_none aiosmtpd/tests/test_proxyprotocol.py::TestProxyData::test_tlv_fake aiosmtpd/tests/test_proxyprotocol.py::TestProxyData::test_tlv_1 aiosmtpd/tests/test_proxyprotocol.py::TestProxyTLV::test_1 aiosmtpd/tests/test_proxyprotocol.py::TestProxyTLV::test_1_ne aiosmtpd/tests/test_proxyprotocol.py::TestProxyTLV::test_1_ne_raises aiosmtpd/tests/test_proxyprotocol.py::TestProxyTLV::test_2 aiosmtpd/tests/test_proxyprotocol.py::TestProxyTLV::test_backmap[1-ALPN] aiosmtpd/tests/test_proxyprotocol.py::TestProxyTLV::test_backmap[2-AUTHORITY] aiosmtpd/tests/test_proxyprotocol.py::TestProxyTLV::test_backmap[3-CRC32C] aiosmtpd/tests/test_proxyprotocol.py::TestProxyTLV::test_backmap[4-NOOP] aiosmtpd/tests/test_proxyprotocol.py::TestProxyTLV::test_backmap[5-UNIQUE_ID] aiosmtpd/tests/test_proxyprotocol.py::TestProxyTLV::test_backmap[32-SSL] aiosmtpd/tests/test_proxyprotocol.py::TestProxyTLV::test_backmap[33-SSL_VERSION] aiosmtpd/tests/test_proxyprotocol.py::TestProxyTLV::test_backmap[34-SSL_CN] aiosmtpd/tests/test_proxyprotocol.py::TestProxyTLV::test_backmap[35-SSL_CIPHER] aiosmtpd/tests/test_proxyprotocol.py::TestProxyTLV::test_backmap[36-SSL_SIG_ALG] aiosmtpd/tests/test_proxyprotocol.py::TestProxyTLV::test_backmap[37-SSL_KEY_ALG] aiosmtpd/tests/test_proxyprotocol.py::TestProxyTLV::test_backmap[48-NETNS] aiosmtpd/tests/test_proxyprotocol.py::TestProxyTLV::test_backmap[None-wrongname] aiosmtpd/tests/test_proxyprotocol.py::TestProxyTLV::test_parse_partial aiosmtpd/tests/test_proxyprotocol.py::TestProxyTLV::test_unknowntype_notstrict aiosmtpd/tests/test_proxyprotocol.py::TestProxyTLV::test_unknowntype_strict aiosmtpd/tests/test_proxyprotocol.py::TestProxyTLV::test_malformed_ssl_partialok aiosmtpd/tests/test_proxyprotocol.py::TestProxyTLV::test_malformed_ssl_notpartialok aiosmtpd/tests/test_proxyprotocol.py::TestProxyTLV::test_eq aiosmtpd/tests/test_proxyprotocol.py::TestModule::test_get[v1] aiosmtpd/tests/test_proxyprotocol.py::TestModule::test_get[v2] aiosmtpd/tests/test_proxyprotocol.py::TestModule::test_get_cut_v1 aiosmtpd/tests/test_proxyprotocol.py::TestModule::test_get_cut_v2 aiosmtpd/tests/test_proxyprotocol.py::TestModule::test_get_invalid_sig aiosmtpd/tests/test_proxyprotocol.py::TestSMTPInit::test_value_error[-1] aiosmtpd/tests/test_proxyprotocol.py::TestSMTPInit::test_value_error[-1.0] aiosmtpd/tests/test_proxyprotocol.py::TestSMTPInit::test_value_error[0] aiosmtpd/tests/test_proxyprotocol.py::TestSMTPInit::test_value_error[0.0] aiosmtpd/tests/test_proxyprotocol.py::TestSMTPInit::test_lt_3 aiosmtpd/tests/test_proxyprotocol.py::TestSMTPInit::test_ge_3[3] aiosmtpd/tests/test_proxyprotocol.py::TestSMTPInit::test_ge_3[3.0] aiosmtpd/tests/test_proxyprotocol.py::TestSMTPInit::test_ge_3[4] aiosmtpd/tests/test_proxyprotocol.py::TestSMTPInit::test_ge_3[4.0] aiosmtpd/tests/test_proxyprotocol.py::TestGetV1::test_noproxy aiosmtpd/tests/test_proxyprotocol.py::TestGetV1::test_valid_patterns[joaoreis81] aiosmtpd/tests/test_proxyprotocol.py::TestGetV1::test_valid_patterns[haproxydoc] aiosmtpd/tests/test_proxyprotocol.py::TestGetV1::test_valid_patterns[cloudflare4] aiosmtpd/tests/test_proxyprotocol.py::TestGetV1::test_valid_patterns[cloudflare6] aiosmtpd/tests/test_proxyprotocol.py::TestGetV1::test_valid_patterns[avinetworks] aiosmtpd/tests/test_proxyprotocol.py::TestGetV1::test_valid_patterns[googlecloud] aiosmtpd/tests/test_proxyprotocol.py::TestGetV1::test_tcp4 aiosmtpd/tests/test_proxyprotocol.py::TestGetV1::test_tcp4_random aiosmtpd/tests/test_proxyprotocol.py::TestGetV1::test_tcp6_shortened aiosmtpd/tests/test_proxyprotocol.py::TestGetV1::test_tcp6_random aiosmtpd/tests/test_proxyprotocol.py::TestGetV1::test_unknown aiosmtpd/tests/test_proxyprotocol.py::TestGetV1::test_unknown_short aiosmtpd/tests/test_proxyprotocol.py::TestGetV1::test_invalid_sig aiosmtpd/tests/test_proxyprotocol.py::TestGetV1::test_unsupported_family aiosmtpd/tests/test_proxyprotocol.py::TestGetV1::test_unsupported_proto aiosmtpd/tests/test_proxyprotocol.py::TestGetV1::test_too_long aiosmtpd/tests/test_proxyprotocol.py::TestGetV1::test_malformed_nocr aiosmtpd/tests/test_proxyprotocol.py::TestGetV1::test_malformed_notproxy aiosmtpd/tests/test_proxyprotocol.py::TestGetV1::test_malformed_wrongtype_64 aiosmtpd/tests/test_proxyprotocol.py::TestGetV1::test_malformed_wrongtype_46 aiosmtpd/tests/test_proxyprotocol.py::TestGetV1::test_malformed_wrongtype_6mixed aiosmtpd/tests/test_proxyprotocol.py::TestGetV1::test_malformed_addr[zeroleader] aiosmtpd/tests/test_proxyprotocol.py::TestGetV1::test_malformed_addr[space1] aiosmtpd/tests/test_proxyprotocol.py::TestGetV1::test_malformed_addr[space2] aiosmtpd/tests/test_proxyprotocol.py::TestGetV1::test_malformed_addr[space3] aiosmtpd/tests/test_proxyprotocol.py::TestGetV1::test_malformed_addr[space4] aiosmtpd/tests/test_proxyprotocol.py::TestGetV1::test_malformed_addr[addr6s] aiosmtpd/tests/test_proxyprotocol.py::TestGetV1::test_malformed_addr[addr6d] aiosmtpd/tests/test_proxyprotocol.py::TestGetV1::test_extra[space] aiosmtpd/tests/test_proxyprotocol.py::TestGetV1::test_extra[sptext] aiosmtpd/tests/test_proxyprotocol.py::TestGetV1::test_malformed_addr4 aiosmtpd/tests/test_proxyprotocol.py::TestGetV1::test_ports_oob aiosmtpd/tests/test_proxyprotocol.py::TestGetV1::test_portd_oob aiosmtpd/tests/test_proxyprotocol.py::TestGetV2::test_1 aiosmtpd/tests/test_proxyprotocol.py::TestGetV2::test_UNSPEC_empty aiosmtpd/tests/test_proxyprotocol.py::TestGetV2::test_UNSPEC_notempty aiosmtpd/tests/test_proxyprotocol.py::TestGetV2::test_INET4[PROTO.STREAM-] aiosmtpd/tests/test_proxyprotocol.py::TestGetV2::test_INET4[PROTO.STREAM-fake_tlv] aiosmtpd/tests/test_proxyprotocol.py::TestGetV2::test_INET4[PROTO.DGRAM-] aiosmtpd/tests/test_proxyprotocol.py::TestGetV2::test_INET4[PROTO.DGRAM-fake_tlv] aiosmtpd/tests/test_proxyprotocol.py::TestGetV2::test_INET6[PROTO.STREAM-] aiosmtpd/tests/test_proxyprotocol.py::TestGetV2::test_INET6[PROTO.STREAM-fake_tlv] aiosmtpd/tests/test_proxyprotocol.py::TestGetV2::test_INET6[PROTO.DGRAM-] aiosmtpd/tests/test_proxyprotocol.py::TestGetV2::test_INET6[PROTO.DGRAM-fake_tlv] aiosmtpd/tests/test_proxyprotocol.py::TestGetV2::test_UNIX[PROTO.STREAM-] aiosmtpd/tests/test_proxyprotocol.py::TestGetV2::test_UNIX[PROTO.STREAM-fake_tlv] aiosmtpd/tests/test_proxyprotocol.py::TestGetV2::test_UNIX[PROTO.DGRAM-] aiosmtpd/tests/test_proxyprotocol.py::TestGetV2::test_UNIX[PROTO.DGRAM-fake_tlv] aiosmtpd/tests/test_proxyprotocol.py::TestGetV2::test_fallback_UNSPEC[AF.UNSPEC-PROTO.STREAM] aiosmtpd/tests/test_proxyprotocol.py::TestGetV2::test_fallback_UNSPEC[AF.UNSPEC-PROTO.DGRAM] aiosmtpd/tests/test_proxyprotocol.py::TestGetV2::test_fallback_UNSPEC[AF.INET-PROTO.UNSPEC] aiosmtpd/tests/test_proxyprotocol.py::TestGetV2::test_fallback_UNSPEC[AF.INET6-PROTO.UNSPEC] aiosmtpd/tests/test_proxyprotocol.py::TestGetV2::test_fallback_UNSPEC[AF.UNIX-PROTO.UNSPEC] aiosmtpd/tests/test_proxyprotocol.py::TestGetV2::test_invalid_sig aiosmtpd/tests/test_proxyprotocol.py::TestGetV2::test_illegal_ver aiosmtpd/tests/test_proxyprotocol.py::TestGetV2::test_unsupported_cmd aiosmtpd/tests/test_proxyprotocol.py::TestGetV2::test_unsupported_fam aiosmtpd/tests/test_proxyprotocol.py::TestGetV2::test_unsupported_proto aiosmtpd/tests/test_proxyprotocol.py::TestGetV2::test_wrong_proto_6shouldbe4 aiosmtpd/tests/test_proxyprotocol.py::TestWithController::test_okay[v1] aiosmtpd/tests/test_proxyprotocol.py::TestWithController::test_okay[v2] aiosmtpd/tests/test_proxyprotocol.py::TestWithController::test_hiccup[v1] aiosmtpd/tests/test_proxyprotocol.py::TestWithController::test_hiccup[v2] aiosmtpd/tests/test_proxyprotocol.py::TestWithController::test_timeout[v1] aiosmtpd/tests/test_proxyprotocol.py::TestWithController::test_timeout[v2] aiosmtpd/tests/test_proxyprotocol.py::TestWithController::test_incomplete[v1] aiosmtpd/tests/test_proxyprotocol.py::TestWithController::test_incomplete[v2] aiosmtpd/tests/test_proxyprotocol.py::TestHandlerAcceptReject::test_simple[v1-True] aiosmtpd/tests/test_proxyprotocol.py::TestHandlerAcceptReject::test_simple[v1-False] aiosmtpd/tests/test_proxyprotocol.py::TestHandlerAcceptReject::test_simple[v2-True] aiosmtpd/tests/test_proxyprotocol.py::TestHandlerAcceptReject::test_simple[v2-False] aiosmtpd/tests/test_server.py::TestServer::test_smtp_utf8 aiosmtpd/tests/test_server.py::TestServer::test_default_max_command_size_limit aiosmtpd/tests/test_server.py::TestServer::test_special_max_command_size_limit aiosmtpd/tests/test_server.py::TestServer::test_warn_authreq_notls aiosmtpd/tests/test_server.py::TestController::test_reuse_loop aiosmtpd/tests/test_server.py::TestController::test_socket_error_dupe aiosmtpd/tests/test_server.py::TestController::test_socket_error_default aiosmtpd/tests/test_server.py::TestController::test_server_attribute aiosmtpd/tests/test_server.py::TestController::test_enablesmtputf8_flag aiosmtpd/tests/test_server.py::TestController::test_serverhostname_arg aiosmtpd/tests/test_server.py::TestController::test_hostname_empty aiosmtpd/tests/test_server.py::TestController::test_hostname_none aiosmtpd/tests/test_server.py::TestController::test_testconn_raises aiosmtpd/tests/test_server.py::TestController::test_getlocalhost aiosmtpd/tests/test_server.py::TestController::test_getlocalhost_noipv6 aiosmtpd/tests/test_server.py::TestController::test_getlocalhost_6yes aiosmtpd/tests/test_server.py::TestController::test_getlocalhost_6no[99] aiosmtpd/tests/test_server.py::TestController::test_getlocalhost_6no[97] aiosmtpd/tests/test_server.py::TestController::test_getlocalhost_6inuse aiosmtpd/tests/test_server.py::TestController::test_getlocalhost_error aiosmtpd/tests/test_server.py::TestController::test_stop_default aiosmtpd/tests/test_server.py::TestController::test_stop_assert aiosmtpd/tests/test_server.py::TestController::test_stop_noassert aiosmtpd/tests/test_server.py::TestUnixSocketController::test_server_creation aiosmtpd/tests/test_server.py::TestUnixSocketController::test_server_creation_ssl aiosmtpd/tests/test_server.py::TestFactory::test_normal_situation aiosmtpd/tests/test_server.py::TestFactory::test_unknown_args_direct aiosmtpd/tests/test_server.py::TestFactory::test_unknown_args_inkwargs aiosmtpd/tests/test_server.py::TestFactory::test_factory_none aiosmtpd/tests/test_server.py::TestFactory::test_noexc_smtpd_missing aiosmtpd/tests/test_server.py::TestCompat::test_version