HEX
Server: LiteSpeed
System: Linux houston.panomity.com 6.8.0-100-generic #100-Ubuntu SMP PREEMPT_DYNAMIC Tue Jan 13 16:40:06 UTC 2026 x86_64
User: nudepix (1011)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //usr/share/doc/python3-aiosmtpd/html/genindex.html
<!DOCTYPE html>
<html class="writer-html5" lang="en" data-content_root="./">
<head>
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>Index &mdash; aiosmtpd 1.4.4.post2 documentation</title>
      <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
      <link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=86f27845" />
      <link rel="stylesheet" type="text/css" href="_static/aiosmtpd.css?v=4cc6bf70" />

  
  
        <script src="_static/jquery.js?v=8dae8fb0"></script>
        <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
        <script src="_static/documentation_options.js?v=ad49bbf5"></script>
        <script src="_static/doctools.js?v=888ff710"></script>
        <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
    <script src="_static/js/theme.js"></script>
    <link rel="index" title="Index" href="#" />
    <link rel="search" title="Search" href="search.html" /> 
</head>

<body class="wy-body-for-nav"> 
  <div class="wy-grid-for-nav">
    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
      <div class="wy-side-scroll">
        <div class="wy-side-nav-search" >

          
          
          <a href="index.html" class="icon icon-home">
            aiosmtpd
          </a>
              <div class="version">
                1.4.4.post2
              </div>
<div role="search">
  <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
    <input type="hidden" name="check_keywords" value="yes" />
    <input type="hidden" name="area" value="default" />
  </form>
</div>
        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
              <ul>
<li class="toctree-l1"><a class="reference internal" href="intro.html">Introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="concepts.html">Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="cli.html">Command line usage</a></li>
<li class="toctree-l1"><a class="reference internal" href="controller.html">Programmatic usage</a></li>
<li class="toctree-l1"><a class="reference internal" href="smtp.html">The SMTP Module</a></li>
<li class="toctree-l1"><a class="reference internal" href="lmtp.html">The LMTP class</a></li>
<li class="toctree-l1"><a class="reference internal" href="handlers.html">Handlers</a></li>
<li class="toctree-l1"><a class="reference internal" href="auth.html">Authentication System</a></li>
<li class="toctree-l1"><a class="reference internal" href="proxyprotocol.html">PROXY Protocol Support</a></li>
<li class="toctree-l1"><a class="reference internal" href="migrating.html">Migrating from smtpd to aiosmtpd</a></li>
<li class="toctree-l1"><a class="reference internal" href="testing.html">Testing</a></li>
<li class="toctree-l1"><a class="reference internal" href="manpage.html">aiosmtpd</a></li>
<li class="toctree-l1"><a class="reference internal" href="NEWS.html">NEWS for aiosmtpd</a></li>
</ul>

        </div>
      </div>
    </nav>

    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
          <a href="index.html">aiosmtpd</a>
      </nav>

      <div class="wy-nav-content">
        <div class="rst-content">
          <div role="navigation" aria-label="Page navigation">
  <ul class="wy-breadcrumbs">
      <li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li>
      <li class="breadcrumb-item active">Index</li>
      <li class="wy-breadcrumbs-aside">
      </li>
  </ul>
  <hr/>
</div>
          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
           <div itemprop="articleBody">
             

<h1 id="index">Index</h1>

<div class="genindex-jumpbox">
 <a href="#Symbols"><strong>Symbols</strong></a>
 | <a href="#_"><strong>_</strong></a>
 | <a href="#A"><strong>A</strong></a>
 | <a href="#B"><strong>B</strong></a>
 | <a href="#C"><strong>C</strong></a>
 | <a href="#D"><strong>D</strong></a>
 | <a href="#E"><strong>E</strong></a>
 | <a href="#F"><strong>F</strong></a>
 | <a href="#G"><strong>G</strong></a>
 | <a href="#H"><strong>H</strong></a>
 | <a href="#I"><strong>I</strong></a>
 | <a href="#L"><strong>L</strong></a>
 | <a href="#M"><strong>M</strong></a>
 | <a href="#N"><strong>N</strong></a>
 | <a href="#O"><strong>O</strong></a>
 | <a href="#P"><strong>P</strong></a>
 | <a href="#R"><strong>R</strong></a>
 | <a href="#S"><strong>S</strong></a>
 | <a href="#T"><strong>T</strong></a>
 | <a href="#U"><strong>U</strong></a>
 | <a href="#V"><strong>V</strong></a>
 | <a href="#W"><strong>W</strong></a>
 | <a href="#Y"><strong>Y</strong></a>
 
</div>
<h2 id="Symbols">Symbols</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li>
    --class

      <ul>
        <li><a href="manpage.html#cmdoption-c">command line option</a>
</li>
      </ul></li>
      <li>
    --debug

      <ul>
        <li><a href="manpage.html#cmdoption-d">command line option</a>
</li>
      </ul></li>
      <li>
    --help

      <ul>
        <li><a href="manpage.html#cmdoption-h">command line option</a>
</li>
      </ul></li>
      <li>
    --listen

      <ul>
        <li><a href="manpage.html#cmdoption-l">command line option</a>
</li>
      </ul></li>
      <li>
    --no-requiretls

      <ul>
        <li><a href="manpage.html#cmdoption-no-requiretls">command line option</a>
</li>
      </ul></li>
      <li>
    --nosetuid

      <ul>
        <li><a href="manpage.html#cmdoption-n">command line option</a>
</li>
      </ul></li>
      <li>
    --size

      <ul>
        <li><a href="manpage.html#cmdoption-s">command line option</a>
</li>
      </ul></li>
      <li>
    --smtpscert

      <ul>
        <li><a href="manpage.html#cmdoption-smtpscert">command line option</a>
</li>
      </ul></li>
      <li>
    --smtpskey

      <ul>
        <li><a href="manpage.html#cmdoption-smtpskey">command line option</a>
</li>
      </ul></li>
      <li>
    --smtputf8

      <ul>
        <li><a href="manpage.html#cmdoption-u">command line option</a>
</li>
      </ul></li>
      <li>
    --tlscert

      <ul>
        <li><a href="manpage.html#cmdoption-tlscert">command line option</a>
</li>
      </ul></li>
  </ul></td>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li>
    --tlskey

      <ul>
        <li><a href="manpage.html#cmdoption-tlskey">command line option</a>
</li>
      </ul></li>
      <li>
    --version

      <ul>
        <li><a href="manpage.html#cmdoption-v">command line option</a>
</li>
      </ul></li>
      <li>
    -c

      <ul>
        <li><a href="manpage.html#cmdoption-c">command line option</a>
</li>
      </ul></li>
      <li>
    -d

      <ul>
        <li><a href="manpage.html#cmdoption-d">command line option</a>
</li>
      </ul></li>
      <li>
    -h

      <ul>
        <li><a href="manpage.html#cmdoption-h">command line option</a>
</li>
      </ul></li>
      <li>
    -l

      <ul>
        <li><a href="manpage.html#cmdoption-l">command line option</a>
</li>
      </ul></li>
      <li>
    -n

      <ul>
        <li><a href="manpage.html#cmdoption-n">command line option</a>
</li>
      </ul></li>
      <li>
    -s

      <ul>
        <li><a href="manpage.html#cmdoption-s">command line option</a>
</li>
      </ul></li>
      <li>
    -u

      <ul>
        <li><a href="manpage.html#cmdoption-u">command line option</a>
</li>
      </ul></li>
      <li>
    -v

      <ul>
        <li><a href="manpage.html#cmdoption-v">command line option</a>
</li>
      </ul></li>
  </ul></td>
</tr></table>

<h2 id="_">_</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="proxyprotocol.html#aiosmtpd.proxy_protocol.ProxyData.__bool__">__bool__() (aiosmtpd.proxy_protocol.ProxyData method)</a>
</li>
  </ul></td>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="smtp.html#aiosmtpd.smtp.SMTP._create_envelope">_create_envelope() (aiosmtpd.smtp.SMTP method)</a>
</li>
      <li><a href="smtp.html#aiosmtpd.smtp.SMTP._create_session">_create_session() (aiosmtpd.smtp.SMTP method)</a>
</li>
  </ul></td>
</tr></table>

<h2 id="A">A</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="proxyprotocol.html#aiosmtpd.proxy_protocol.AF">AF (class in aiosmtpd.proxy_protocol)</a>
</li>
      <li>
    aiosmtpd.controller

      <ul>
        <li><a href="controller.html#module-aiosmtpd.controller">module</a>
</li>
      </ul></li>
      <li>
    aiosmtpd.handlers

      <ul>
        <li><a href="handlers.html#module-aiosmtpd.handlers">module</a>
</li>
      </ul></li>
      <li>
    aiosmtpd.proxy_protocol

      <ul>
        <li><a href="proxyprotocol.html#module-aiosmtpd.proxy_protocol">module</a>
</li>
      </ul></li>
      <li>
    aiosmtpd.smtp

      <ul>
        <li><a href="smtp.html#module-aiosmtpd.smtp">module</a>
</li>
      </ul></li>
      <li><a href="controller.html#index-0">AIOSMTPD_CONTROLLER_TIMEOUT</a>, <a href="controller.html#index-1">[1]</a>, <a href="controller.html#index-2">[2]</a>
</li>
      <li><a href="handlers.html#aiosmtpd.handlers.AsyncMessage">AsyncMessage (class in aiosmtpd.handlers)</a>
</li>
      <li><a href="smtp.html#aiosmtpd.smtp.SMTP.auth_callback">auth_callback (aiosmtpd.smtp.SMTP attribute)</a>
</li>
      <li><a href="auth.html#AuthResult.auth_data">auth_data (AuthResult attribute)</a>

      <ul>
        <li><a href="concepts.html#Session.auth_data">(Session attribute)</a>
</li>
      </ul></li>
  </ul></td>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="smtp.html#aiosmtpd.smtp.SMTP.auth_exclude_mechanism">auth_exclude_mechanism (aiosmtpd.smtp.SMTP attribute)</a>
</li>
      <li><a href="auth.html#auth_MECHANISM">auth_MECHANISM()</a>
</li>
      <li><a href="smtp.html#aiosmtpd.smtp.auth_mechanism">auth_mechanism() (in module aiosmtpd.smtp)</a>
</li>
      <li><a href="smtp.html#aiosmtpd.smtp.SMTP.auth_require_tls">auth_require_tls (aiosmtpd.smtp.SMTP attribute)</a>
</li>
      <li><a href="smtp.html#aiosmtpd.smtp.SMTP.auth_required">auth_required (aiosmtpd.smtp.SMTP attribute)</a>
</li>
      <li><a href="smtp.html#aiosmtpd.smtp.SMTP.authenticated">authenticated (aiosmtpd.smtp.SMTP attribute)</a>

      <ul>
        <li><a href="concepts.html#Session.authenticated">(Session attribute)</a>
</li>
      </ul></li>
      <li><a href="smtp.html#aiosmtpd.smtp.SMTP.authenticator">authenticator (aiosmtpd.smtp.SMTP attribute)</a>
</li>
      <li>
    Authenticator()

      <ul>
        <li><a href="auth.html#Authenticator">built-in function</a>
</li>
      </ul></li>
      <li><a href="smtp.html#aiosmtpd.smtp.AuthenticatorType">AuthenticatorType (in module aiosmtpd.smtp)</a>
</li>
      <li><a href="smtp.html#aiosmtpd.smtp.SMTP.AuthLoginPasswordChallenge">AuthLoginPasswordChallenge (aiosmtpd.smtp.SMTP attribute)</a>
</li>
      <li><a href="smtp.html#aiosmtpd.smtp.SMTP.AuthLoginUsernameChallenge">AuthLoginUsernameChallenge (aiosmtpd.smtp.SMTP attribute)</a>
</li>
      <li><a href="auth.html#AuthResult">AuthResult (built-in class)</a>

      <ul>
        <li><a href="smtp.html#aiosmtpd.smtp.AuthResult">(class in aiosmtpd.smtp)</a>
</li>
      </ul></li>
  </ul></td>
</tr></table>

<h2 id="B">B</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="controller.html#aiosmtpd.controller.BaseController">BaseController (class in aiosmtpd.controller)</a>
</li>
      <li><a href="controller.html#aiosmtpd.controller.UnthreadedController.begin">begin() (aiosmtpd.controller.UnthreadedController method)</a>
</li>
      <li>
    built-in function

      <ul>
        <li><a href="auth.html#Authenticator">Authenticator()</a>
</li>
        <li><a href="testing.html#client_data">client_data()</a>
</li>
        <li><a href="testing.html#controller_data">controller_data()</a>
</li>
        <li><a href="smtp.html#ehlo_hook">ehlo_hook()</a>
</li>
        <li><a href="testing.html#handler_data">handler_data()</a>
</li>
        <li><a href="smtp.html#rset_hook">rset_hook()</a>
</li>
      </ul></li>
  </ul></td>
</tr></table>

<h2 id="C">C</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="controller.html#aiosmtpd.controller.BaseController.cancel_tasks">cancel_tasks() (aiosmtpd.controller.BaseController method)</a>
</li>
      <li><a href="smtp.html#aiosmtpd.smtp.SMTP.challenge_auth">challenge_auth() (aiosmtpd.smtp.SMTP method)</a>
</li>
      <li>
    CLASSARGS

      <ul>
        <li><a href="manpage.html#cmdoption-arg-CLASSARGS">command line option</a>
</li>
      </ul></li>
      <li>
    client_data()

      <ul>
        <li><a href="testing.html#client_data">built-in function</a>
</li>
      </ul></li>
      <li><a href="proxyprotocol.html#aiosmtpd.proxy_protocol.ProxyData.command">command (aiosmtpd.proxy_protocol.ProxyData attribute)</a>
</li>
      <li>
    command line option

      <ul>
        <li><a href="manpage.html#cmdoption-c">--class</a>
</li>
        <li><a href="manpage.html#cmdoption-d">--debug</a>
</li>
        <li><a href="manpage.html#cmdoption-h">--help</a>
</li>
        <li><a href="manpage.html#cmdoption-l">--listen</a>
</li>
        <li><a href="manpage.html#cmdoption-no-requiretls">--no-requiretls</a>
</li>
        <li><a href="manpage.html#cmdoption-n">--nosetuid</a>
</li>
        <li><a href="manpage.html#cmdoption-s">--size</a>
</li>
        <li><a href="manpage.html#cmdoption-smtpscert">--smtpscert</a>
</li>
        <li><a href="manpage.html#cmdoption-smtpskey">--smtpskey</a>
</li>
        <li><a href="manpage.html#cmdoption-u">--smtputf8</a>
</li>
        <li><a href="manpage.html#cmdoption-tlscert">--tlscert</a>
</li>
        <li><a href="manpage.html#cmdoption-tlskey">--tlskey</a>
</li>
        <li><a href="manpage.html#cmdoption-v">--version</a>
</li>
        <li><a href="manpage.html#cmdoption-c">-c</a>
</li>
        <li><a href="manpage.html#cmdoption-d">-d</a>
</li>
        <li><a href="manpage.html#cmdoption-h">-h</a>
</li>
        <li><a href="manpage.html#cmdoption-l">-l</a>
</li>
        <li><a href="manpage.html#cmdoption-n">-n</a>
</li>
        <li><a href="manpage.html#cmdoption-s">-s</a>
</li>
        <li><a href="manpage.html#cmdoption-u">-u</a>
</li>
        <li><a href="manpage.html#cmdoption-v">-v</a>
</li>
        <li><a href="manpage.html#cmdoption-arg-CLASSARGS">CLASSARGS</a>
</li>
      </ul></li>
  </ul></td>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="smtp.html#aiosmtpd.smtp.SMTP.command_call_limit">command_call_limit (aiosmtpd.smtp.SMTP attribute)</a>
</li>
      <li><a href="concepts.html#Envelope.content">content (Envelope attribute)</a>
</li>
      <li><a href="controller.html#aiosmtpd.controller.Controller">Controller (class in aiosmtpd.controller)</a>
</li>
      <li>
    controller_data()

      <ul>
        <li><a href="testing.html#controller_data">built-in function</a>
</li>
      </ul></li>
  </ul></td>
</tr></table>

<h2 id="D">D</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="smtp.html#aiosmtpd.smtp.SMTP.data_size_limit">data_size_limit (aiosmtpd.smtp.SMTP attribute)</a>
</li>
      <li><a href="handlers.html#aiosmtpd.handlers.Debugging">Debugging (class in aiosmtpd.handlers)</a>
</li>
      <li><a href="smtp.html#aiosmtpd.smtp.SMTP.decode_data">decode_data (aiosmtpd.smtp.SMTP attribute)</a>
</li>
  </ul></td>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="controller.html#aiosmtpd.controller.DEFAULT_READY_TIMEOUT">DEFAULT_READY_TIMEOUT (in module aiosmtpd.controller)</a>
</li>
      <li><a href="proxyprotocol.html#aiosmtpd.proxy_protocol.ProxyData.dst_addr">dst_addr (aiosmtpd.proxy_protocol.ProxyData attribute)</a>
</li>
      <li><a href="proxyprotocol.html#aiosmtpd.proxy_protocol.ProxyData.dst_port">dst_port (aiosmtpd.proxy_protocol.ProxyData attribute)</a>
</li>
  </ul></td>
</tr></table>

<h2 id="E">E</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li>
    ehlo_hook()

      <ul>
        <li><a href="smtp.html#ehlo_hook">built-in function</a>
</li>
      </ul></li>
      <li><a href="smtp.html#aiosmtpd.smtp.SMTP.enable_SMTPUTF8">enable_SMTPUTF8 (aiosmtpd.smtp.SMTP attribute)</a>
</li>
      <li><a href="controller.html#aiosmtpd.controller.UnthreadedController.end">end() (aiosmtpd.controller.UnthreadedController method)</a>
</li>
      <li><a href="controller.html#aiosmtpd.controller.UnixSocketUnthreadedController.ended">ended (aiosmtpd.controller.UnixSocketUnthreadedController attribute)</a>

      <ul>
        <li><a href="controller.html#aiosmtpd.controller.UnthreadedController.ended">(aiosmtpd.controller.UnthreadedController attribute)</a>
</li>
      </ul></li>
  </ul></td>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="handlers.html#envelope">envelope</a>

      <ul>
        <li><a href="smtp.html#aiosmtpd.smtp.SMTP.envelope">(aiosmtpd.smtp.SMTP attribute)</a>
</li>
      </ul></li>
      <li><a href="concepts.html#Envelope">Envelope (built-in class)</a>
</li>
      <li>
    environment variable

      <ul>
        <li><a href="controller.html#index-0">AIOSMTPD_CONTROLLER_TIMEOUT</a>, <a href="controller.html#index-1">[1]</a>, <a href="controller.html#index-2">[2]</a>, <a href="manpage.html#envvar-AIOSMTPD_CONTROLLER_TIMEOUT">[3]</a>
</li>
      </ul></li>
      <li><a href="smtp.html#aiosmtpd.smtp.SMTP.event_handler">event_handler (aiosmtpd.smtp.SMTP attribute)</a>
</li>
      <li><a href="concepts.html#Session.extended_smtp">extended_smtp (Session attribute)</a>
</li>
  </ul></td>
</tr></table>

<h2 id="F">F</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="controller.html#aiosmtpd.controller.BaseController.factory">factory() (aiosmtpd.controller.BaseController method)</a>
</li>
      <li><a href="proxyprotocol.html#aiosmtpd.proxy_protocol.ProxyData.family">family (aiosmtpd.proxy_protocol.ProxyData attribute)</a>
</li>
  </ul></td>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="controller.html#aiosmtpd.controller.UnthreadedController.finalize">finalize() (aiosmtpd.controller.UnthreadedController method)</a>
</li>
      <li><a href="handlers.html#from_cli">from_cli()</a>
</li>
      <li><a href="proxyprotocol.html#aiosmtpd.proxy_protocol.ProxyTLV.from_raw">from_raw() (aiosmtpd.proxy_protocol.ProxyTLV class method)</a>
</li>
  </ul></td>
</tr></table>

<h2 id="G">G</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="controller.html#aiosmtpd.controller.get_localhost">get_localhost() (in module aiosmtpd.controller)</a>
</li>
  </ul></td>
</tr></table>

<h2 id="H">H</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="auth.html#handle_AUTH">handle_AUTH()</a>
</li>
      <li><a href="handlers.html#handle_DATA">handle_DATA()</a>
</li>
      <li><a href="handlers.html#handle_EHLO">handle_EHLO()</a>
</li>
      <li><a href="handlers.html#handle_exception">handle_exception()</a>
</li>
      <li><a href="handlers.html#handle_HELO">handle_HELO()</a>
</li>
      <li><a href="handlers.html#handle_MAIL">handle_MAIL()</a>
</li>
      <li><a href="handlers.html#handle_NOOP">handle_NOOP()</a>
</li>
      <li><a href="proxyprotocol.html#handle_PROXY">handle_PROXY()</a>
</li>
      <li><a href="handlers.html#handle_QUIT">handle_QUIT()</a>
</li>
  </ul></td>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="handlers.html#handle_RCPT">handle_RCPT()</a>
</li>
      <li><a href="handlers.html#handle_RSET">handle_RSET()</a>
</li>
      <li><a href="handlers.html#handle_STARTTLS">handle_STARTTLS()</a>
</li>
      <li><a href="handlers.html#handle_VRFY">handle_VRFY()</a>
</li>
      <li><a href="auth.html#AuthResult.handled">handled (AuthResult attribute)</a>
</li>
      <li><a href="smtp.html#aiosmtpd.smtp.SMTP.handler">handler (aiosmtpd.smtp.SMTP attribute)</a>
</li>
      <li>
    handler_data()

      <ul>
        <li><a href="testing.html#handler_data">built-in function</a>
</li>
      </ul></li>
      <li><a href="concepts.html#Session.host_name">host_name (Session attribute)</a>
</li>
      <li><a href="smtp.html#aiosmtpd.smtp.SMTP.hostname">hostname (aiosmtpd.smtp.SMTP attribute)</a>
</li>
  </ul></td>
</tr></table>

<h2 id="I">I</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="smtp.html#aiosmtpd.smtp.SMTP.ident">ident (aiosmtpd.smtp.SMTP attribute)</a>
</li>
  </ul></td>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="controller.html#aiosmtpd.controller.IP6_IS">IP6_IS (class in aiosmtpd.controller)</a>
</li>
  </ul></td>
</tr></table>

<h2 id="L">L</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="smtp.html#aiosmtpd.smtp.SMTP.line_length_limit">line_length_limit (aiosmtpd.smtp.SMTP attribute)</a>
</li>
      <li><a href="smtp.html#aiosmtpd.smtp.SMTP.local_part_limit">local_part_limit (aiosmtpd.smtp.SMTP attribute)</a>
</li>
      <li><a href="concepts.html#Session.login_data">login_data (Session attribute)</a>
</li>
  </ul></td>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="smtp.html#aiosmtpd.smtp.LoginPassword">LoginPassword (class in aiosmtpd.smtp)</a>
</li>
      <li><a href="smtp.html#aiosmtpd.smtp.SMTP.loop">loop (aiosmtpd.smtp.SMTP attribute)</a>

      <ul>
        <li><a href="concepts.html#Session.loop">(Session attribute)</a>
</li>
      </ul></li>
  </ul></td>
</tr></table>

<h2 id="M">M</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="concepts.html#Envelope.mail_from">mail_from (Envelope attribute)</a>
</li>
      <li><a href="concepts.html#Envelope.mail_options">mail_options (Envelope attribute)</a>
</li>
      <li><a href="handlers.html#aiosmtpd.handlers.Mailbox">Mailbox (class in aiosmtpd.handlers)</a>
</li>
      <li><a href="auth.html#AuthResult.message">message (AuthResult attribute)</a>
</li>
      <li><a href="handlers.html#aiosmtpd.handlers.Message">Message (class in aiosmtpd.handlers)</a>
</li>
  </ul></td>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li>
    module

      <ul>
        <li><a href="controller.html#module-aiosmtpd.controller">aiosmtpd.controller</a>
</li>
        <li><a href="handlers.html#module-aiosmtpd.handlers">aiosmtpd.handlers</a>
</li>
        <li><a href="proxyprotocol.html#module-aiosmtpd.proxy_protocol">aiosmtpd.proxy_protocol</a>
</li>
        <li><a href="smtp.html#module-aiosmtpd.smtp">aiosmtpd.smtp</a>
</li>
      </ul></li>
  </ul></td>
</tr></table>

<h2 id="N">N</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="proxyprotocol.html#aiosmtpd.proxy_protocol.ProxyTLV.name_to_num">name_to_num() (aiosmtpd.proxy_protocol.ProxyTLV class method)</a>
</li>
  </ul></td>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="controller.html#aiosmtpd.controller.IP6_IS.NO">NO (aiosmtpd.controller.IP6_IS attribute)</a>
</li>
  </ul></td>
</tr></table>

<h2 id="O">O</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="concepts.html#Envelope.original_content">original_content (Envelope attribute)</a>
</li>
  </ul></td>
</tr></table>

<h2 id="P">P</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="proxyprotocol.html#aiosmtpd.proxy_protocol.ProxyTLV.parse">parse() (aiosmtpd.proxy_protocol.ProxyTLV class method)</a>
</li>
      <li><a href="concepts.html#Session.peer">peer (Session attribute)</a>
</li>
      <li><a href="proxyprotocol.html#aiosmtpd.proxy_protocol.ProxyTLV.PP2_TYPENAME">PP2_TYPENAME (aiosmtpd.proxy_protocol.ProxyTLV attribute)</a>
</li>
      <li><a href="proxyprotocol.html#aiosmtpd.proxy_protocol.PROTO">PROTO (class in aiosmtpd.proxy_protocol)</a>
</li>
      <li><a href="proxyprotocol.html#aiosmtpd.proxy_protocol.ProxyData.protocol">protocol (aiosmtpd.proxy_protocol.ProxyData attribute)</a>
</li>
  </ul></td>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="handlers.html#aiosmtpd.handlers.Proxy">Proxy (class in aiosmtpd.handlers)</a>
</li>
      <li><a href="smtp.html#aiosmtpd.smtp.SMTP.proxy_protocol_timeout">proxy_protocol_timeout (aiosmtpd.smtp.SMTP attribute)</a>
</li>
      <li><a href="proxyprotocol.html#aiosmtpd.proxy_protocol.ProxyData">ProxyData (class in aiosmtpd.proxy_protocol)</a>
</li>
      <li><a href="proxyprotocol.html#aiosmtpd.proxy_protocol.ProxyTLV">ProxyTLV (class in aiosmtpd.proxy_protocol)</a>
</li>
      <li><a href="smtp.html#aiosmtpd.smtp.SMTP.push">push() (aiosmtpd.smtp.SMTP method)</a>
</li>
  </ul></td>
</tr></table>

<h2 id="R">R</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="concepts.html#Envelope.rcpt_options">rcpt_options (Envelope attribute)</a>
</li>
      <li><a href="concepts.html#Envelope.rcpt_tos">rcpt_tos (Envelope attribute)</a>
</li>
      <li><a href="controller.html#aiosmtpd.controller.Controller.ready_timeout">ready_timeout (aiosmtpd.controller.Controller attribute)</a>
</li>
      <li><a href="smtp.html#aiosmtpd.smtp.SMTP.require_starttls">require_starttls (aiosmtpd.smtp.SMTP attribute)</a>
</li>
      <li><a href="proxyprotocol.html#aiosmtpd.proxy_protocol.ProxyData.rest">rest (aiosmtpd.proxy_protocol.ProxyData attribute)</a>
</li>
      <li>
    RFC

      <ul>
        <li><a href="concepts.html#index-0">RFC 1869</a>
</li>
        <li><a href="intro.html#index-10">RFC 1870</a>
</li>
        <li><a href="intro.html#index-1">RFC 2033</a>, <a href="intro.html#index-3">[1]</a>, <a href="lmtp.html#index-0">[2]</a>
</li>
        <li><a href="intro.html#index-4">RFC 2034</a>, <a href="intro.html#index-9">[1]</a>
</li>
        <li><a href="smtp.html#index-3">RFC 2821</a>
</li>
        <li><a href="smtp.html#index-2">RFC 3207</a>, <a href="smtp.html#index-7">[1]</a>
</li>
        <li><a href="intro.html#index-8">RFC 3696</a>
</li>
        <li><a href="NEWS.html#index-0">RFC 4954</a>, <a href="auth.html#index-0">[1]</a>, <a href="auth.html#index-1">[2]</a>, <a href="intro.html#index-6">[3]</a>
</li>
        <li><a href="concepts.html#index-1">RFC 5321</a>, <a href="intro.html#index-0">[1]</a>, <a href="intro.html#index-2">[2]</a>, <a href="smtp.html#index-0">[3]</a>
</li>
        <li><a href="handlers.html#index-0">RFC 5321#section-4.5.2</a>
</li>
        <li><a href="smtp.html#index-6">RFC 5321#section-4.5.3.1</a>
</li>
        <li><a href="smtp.html#index-5">RFC 5321#section-4.5.3.1.1</a>
</li>
        <li><a href="smtp.html#index-4">RFC 5321#section-4.5.3.1.6</a>
</li>
        <li><a href="intro.html#index-7">RFC 5322</a>
</li>
        <li><a href="intro.html#index-5">RFC 6531</a>, <a href="smtp.html#index-1">[1]</a>
</li>
      </ul></li>
  </ul></td>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li>
    rset_hook()

      <ul>
        <li><a href="smtp.html#rset_hook">built-in function</a>
</li>
      </ul></li>
  </ul></td>
</tr></table>

<h2 id="S">S</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="proxyprotocol.html#aiosmtpd.proxy_protocol.ProxyData.same_attribs">same_attribs() (aiosmtpd.proxy_protocol.ProxyData method)</a>

      <ul>
        <li><a href="proxyprotocol.html#aiosmtpd.proxy_protocol.ProxyTLV.same_attribs">(aiosmtpd.proxy_protocol.ProxyTLV method)</a>
</li>
      </ul></li>
      <li><a href="handlers.html#server">server</a>

      <ul>
        <li><a href="controller.html#aiosmtpd.controller.BaseController.server">(aiosmtpd.controller.BaseController attribute)</a>
</li>
      </ul></li>
      <li><a href="handlers.html#session">session</a>

      <ul>
        <li><a href="smtp.html#aiosmtpd.smtp.SMTP.session">(aiosmtpd.smtp.SMTP attribute)</a>
</li>
      </ul></li>
      <li><a href="concepts.html#Session">Session (built-in class)</a>
</li>
      <li><a href="handlers.html#aiosmtpd.handlers.Sink">Sink (class in aiosmtpd.handlers)</a>
</li>
  </ul></td>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="smtp.html#aiosmtpd.smtp.SMTP">SMTP (class in aiosmtpd.smtp)</a>
</li>
      <li><a href="controller.html#aiosmtpd.controller.BaseController.smtpd">smtpd (aiosmtpd.controller.BaseController attribute)</a>
</li>
      <li><a href="proxyprotocol.html#aiosmtpd.proxy_protocol.ProxyData.src_addr">src_addr (aiosmtpd.proxy_protocol.ProxyData attribute)</a>
</li>
      <li><a href="proxyprotocol.html#aiosmtpd.proxy_protocol.ProxyData.src_port">src_port (aiosmtpd.proxy_protocol.ProxyData attribute)</a>
</li>
      <li><a href="concepts.html#Session.ssl">ssl (Session attribute)</a>
</li>
      <li><a href="controller.html#aiosmtpd.controller.Controller.start">start() (aiosmtpd.controller.Controller method)</a>
</li>
      <li><a href="controller.html#aiosmtpd.controller.Controller.stop">stop() (aiosmtpd.controller.Controller method)</a>
</li>
      <li><a href="auth.html#AuthResult.success">success (AuthResult attribute)</a>
</li>
  </ul></td>
</tr></table>

<h2 id="T">T</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="smtp.html#aiosmtpd.smtp.SMTP.timeout">timeout (aiosmtpd.smtp.SMTP attribute)</a>
</li>
      <li><a href="smtp.html#aiosmtpd.smtp.SMTP.tls_context">tls_context (aiosmtpd.smtp.SMTP attribute)</a>
</li>
      <li><a href="proxyprotocol.html#aiosmtpd.proxy_protocol.ProxyData.tlv">tlv (aiosmtpd.proxy_protocol.ProxyData attribute)</a>
</li>
  </ul></td>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="proxyprotocol.html#aiosmtpd.proxy_protocol.ProxyTLV.tlv_loc">tlv_loc (aiosmtpd.proxy_protocol.ProxyTLV attribute)</a>
</li>
      <li><a href="proxyprotocol.html#aiosmtpd.proxy_protocol.ProxyData.tlv_start">tlv_start (aiosmtpd.proxy_protocol.ProxyData attribute)</a>
</li>
      <li><a href="smtp.html#aiosmtpd.smtp.SMTP.transport">transport (aiosmtpd.smtp.SMTP attribute)</a>
</li>
  </ul></td>
</tr></table>

<h2 id="U">U</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="controller.html#aiosmtpd.controller.UnixSocketController.unix_socket">unix_socket (aiosmtpd.controller.UnixSocketController attribute)</a>
</li>
      <li><a href="controller.html#aiosmtpd.controller.UnixSocketController">UnixSocketController (class in aiosmtpd.controller)</a>
</li>
  </ul></td>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="controller.html#aiosmtpd.controller.UnixSocketUnthreadedController">UnixSocketUnthreadedController (class in aiosmtpd.controller)</a>
</li>
      <li><a href="controller.html#aiosmtpd.controller.UnthreadedController">UnthreadedController (class in aiosmtpd.controller)</a>
</li>
  </ul></td>
</tr></table>

<h2 id="V">V</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="proxyprotocol.html#aiosmtpd.proxy_protocol.V2_CMD">V2_CMD (class in aiosmtpd.proxy_protocol)</a>
</li>
  </ul></td>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="proxyprotocol.html#aiosmtpd.proxy_protocol.ProxyData.valid">valid (aiosmtpd.proxy_protocol.ProxyData attribute)</a>
</li>
      <li><a href="proxyprotocol.html#aiosmtpd.proxy_protocol.ProxyData.version">version (aiosmtpd.proxy_protocol.ProxyData attribute)</a>
</li>
  </ul></td>
</tr></table>

<h2 id="W">W</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="proxyprotocol.html#aiosmtpd.proxy_protocol.ProxyData.whole_raw">whole_raw (aiosmtpd.proxy_protocol.ProxyData attribute)</a>
</li>
  </ul></td>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="proxyprotocol.html#aiosmtpd.proxy_protocol.ProxyData.with_error">with_error() (aiosmtpd.proxy_protocol.ProxyData method)</a>
</li>
  </ul></td>
</tr></table>

<h2 id="Y">Y</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="controller.html#aiosmtpd.controller.IP6_IS.YES">YES (aiosmtpd.controller.IP6_IS attribute)</a>
</li>
  </ul></td>
</tr></table>



           </div>
          </div>
          <footer>

  <hr/>

  <div role="contentinfo">
    <p>&#169; Copyright 2015-2024, The aiosmtpd Developers.</p>
  </div>

  Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
    <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
    provided by <a href="https://readthedocs.org">Read the Docs</a>.
   

</footer>
        </div>
      </div>
    </section>
  </div>
  <script>
      jQuery(function () {
          SphinxRtdTheme.Navigation.enable(true);
      });
  </script> 

</body>
</html>