twisted.protocols.smtp.SMTP.html   [plain text]


<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>twisted.protocols.smtp.SMTP</title>
  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
      alink="#204080">

<!-- =========== START OF NAVBAR =========== -->
<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="center">
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="twisted.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar" align="right" width="100%">
      <table border="0" cellpadding="0" cellspacing="0">
      <tr><th class="navbar" align="center">
        <p class="nomargin">
          <a class="navbar" target="_top" href="http://twistedmatrix.com/">Twisted&nbsp;1.3.0rc1</a>
      </p></th></tr></table>
    </th>
  </tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
  <tr valign="top">
    <td width="100%">
      <font size="-1"><b class="breadcrumbs">
        <a href="twisted.html">Package&nbsp;twisted</a> ::
        <a href="twisted.protocols.html">Package&nbsp;protocols</a> ::
        <a href="twisted.protocols.smtp.html">Module&nbsp;smtp</a> ::
        Class&nbsp;SMTP
      </b></font></br>
    </td>
    <td><table cellpadding="0" cellspacing="0">
      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="twisted.protocols.smtp.SMTP.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
    </table></td>
</tr></table>

<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class SMTP</h2>

<pre class="base-tree">
<a href="twisted.internet.protocol.BaseProtocol.html"><code>BaseProtocol</code></a> --+        
               |        
        <a href="twisted.internet.protocol.Protocol.html"><code>Protocol</code></a> --+    
                   |    
        <a href="twisted.protocols.basic.LineReceiver.html"><code>LineReceiver</code></a> --+
                       |
        <a href="twisted.protocols.policies.TimeoutMixin.html"><code>TimeoutMixin</code></a> --+
                       |
                      <b>SMTP</b>
</pre><br />

<dl><dt><b>Known Subclasses:</b></dt>
<dd>
    <a href="twisted.mail.protocols.DomainSMTP.html"><code>DomainSMTP</code></a>,
    <a href="twisted.protocols.smtp.ESMTP.html"><code>ESMTP</code></a></dd></dl>

<hr/>

SMTP server-side protocol.
<hr/>


<!-- =========== START OF METHOD SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
  <th colspan="2">Method Summary</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="__init__"></a><span class="summary-sig"><span class="summary-sig-name">__init__</span>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>delivery</span>,
          <span class=summary-sig-arg>deliveryFactory</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="_cbAuthenticated"></a><span class="summary-sig"><span class="summary-sig-name">_cbAuthenticated</span>(<span class=summary-sig-arg>self</span>,
          (<span class=summary-sig-arg>iface</span>,
           <span class=summary-sig-arg>avatar</span>,
           <span class=summary-sig-arg>logout</span>))</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="_cbFromValidate"></a><span class="summary-sig"><span class="summary-sig-name">_cbFromValidate</span>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>from_</span>,
          <span class=summary-sig-arg>code</span>,
          <span class=summary-sig-arg>msg</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="_cbToValidate"></a><span class="summary-sig"><span class="summary-sig-name">_cbToValidate</span>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>to</span>,
          <span class=summary-sig-arg>user</span>,
          <span class=summary-sig-arg>code</span>,
          <span class=summary-sig-arg>msg</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="_ebAuthenticated"></a><span class="summary-sig"><span class="summary-sig-name">_ebAuthenticated</span>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>reason</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="_ebFromValidate"></a><span class="summary-sig"><span class="summary-sig-name">_ebFromValidate</span>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>failure</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="_ebToValidate"></a><span class="summary-sig"><span class="summary-sig-name">_ebToValidate</span>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>failure</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="_messageHandled"></a><span class="summary-sig"><span class="summary-sig-name">_messageHandled</span>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>_</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="_messageNotHandled"></a><span class="summary-sig"><span class="summary-sig-name">_messageNotHandled</span>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>failure</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="connectionLost"></a><span class="summary-sig"><span class="summary-sig-name">connectionLost</span>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>reason</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.protocols.smtp.SMTP.html#connectionMade" class="summary-sig-name"><code>connectionMade</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Called when a connection is made.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="dataLineReceived"></a><span class="summary-sig"><span class="summary-sig-name">dataLineReceived</span>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>line</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="do_DATA"></a><span class="summary-sig"><span class="summary-sig-name">do_DATA</span>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>rest</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="do_HELO"></a><span class="summary-sig"><span class="summary-sig-name">do_HELO</span>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>rest</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="do_MAIL"></a><span class="summary-sig"><span class="summary-sig-name">do_MAIL</span>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>rest</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="do_QUIT"></a><span class="summary-sig"><span class="summary-sig-name">do_QUIT</span>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>rest</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="do_RCPT"></a><span class="summary-sig"><span class="summary-sig-name">do_RCPT</span>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>rest</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="do_RSET"></a><span class="summary-sig"><span class="summary-sig-name">do_RSET</span>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>rest</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="do_UNKNOWN"></a><span class="summary-sig"><span class="summary-sig-name">do_UNKNOWN</span>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>rest</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="greeting"></a><span class="summary-sig"><span class="summary-sig-name">greeting</span>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.protocols.smtp.SMTP.html#lineLengthExceeded" class="summary-sig-name"><code>lineLengthExceeded</code></a>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>line</span>)</span></code>
<br />
Called when the maximum line length has been reached.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.protocols.smtp.SMTP.html#lineReceived" class="summary-sig-name"><code>lineReceived</code></a>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>line</span>)</span></code>
<br />
Override this for when each line is received.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="lookupMethod"></a><span class="summary-sig"><span class="summary-sig-name">lookupMethod</span>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>command</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.protocols.smtp.SMTP.html#rawDataReceived" class="summary-sig-name"><code>rawDataReceived</code></a>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>data</span>)</span></code>
<br />
Throw away rest of long line</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.protocols.smtp.SMTP.html#sendCode" class="summary-sig-name"><code>sendCode</code></a>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>code</span>,
          <span class=summary-sig-arg>message</span>)</span></code>
<br />
Send an SMTP code with a message.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="sendSyntaxError"></a><span class="summary-sig"><span class="summary-sig-name">sendSyntaxError</span>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="startMessage"></a><span class="summary-sig"><span class="summary-sig-name">startMessage</span>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>recipients</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="state_COMMAND"></a><span class="summary-sig"><span class="summary-sig-name">state_COMMAND</span>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>line</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="dataLineReceived"></a><span class="summary-sig"><span class="summary-sig-name">state_DATA</span>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>line</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.protocols.smtp.SMTP.html#timeoutConnection" class="summary-sig-name"><code>timeoutConnection</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Called when the connection times out.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">        <code>Deferred</code> or <code>Address</code>
</font></td>
  <td><code><span class="summary-sig"><a href="twisted.protocols.smtp.SMTP.html#validateFrom" class="summary-sig-name"><code>validateFrom</code></a>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>helo</span>,
          <span class=summary-sig-arg>origin</span>)</span></code>
<br />
Validate the address from which the message originates.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">        no-argument callable
</font></td>
  <td><code><span class="summary-sig"><a href="twisted.protocols.smtp.SMTP.html#validateTo" class="summary-sig-name"><code>validateTo</code></a>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>user</span>)</span></code>
<br />
Validate the address for which the message is destined.</td></tr>
<tr bgcolor="#e8f0f8" class="group">
  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from LineReceiver</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.protocols.basic.LineReceiver.html#clearLineBuffer" class="summary-sig-name"><code>clearLineBuffer</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Clear buffered data.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.protocols.basic.LineReceiver.html#dataReceived" class="summary-sig-name"><code>dataReceived</code></a>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>data</span>)</span></code>
<br />
Protocol.dataReceived.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.protocols.basic.LineReceiver.html#sendLine" class="summary-sig-name"><code>sendLine</code></a>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>line</span>)</span></code>
<br />
Sends a line to the other end of the connection.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.protocols.basic.LineReceiver.html#setLineMode" class="summary-sig-name"><code>setLineMode</code></a>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>extra</span>)</span></code>
<br />
Sets the line-mode of this receiver.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.protocols.basic.LineReceiver.html#setRawMode" class="summary-sig-name"><code>setRawMode</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Sets the raw mode of this receiver.</td></tr>
<tr bgcolor="#e8f0f8" class="group">
  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from Protocol</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.internet.protocol.Protocol.html#connectionFailed" class="summary-sig-name"><code>connectionFailed</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
(Deprecated)</td></tr>
<tr bgcolor="#e8f0f8" class="group">
  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseProtocol</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.internet.protocol.BaseProtocol.html#makeConnection" class="summary-sig-name"><code>makeConnection</code></a>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>transport</span>)</span></code>
<br />
Make a connection to a transport and a server.</td></tr>
<tr bgcolor="#e8f0f8" class="group">
  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TimeoutMixin</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.protocols.policies.TimeoutMixin.html#resetTimeout" class="summary-sig-name"><code>resetTimeout</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Reset the timeout count down</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.protocols.policies.TimeoutMixin.html#setTimeout" class="summary-sig-name"><code>setTimeout</code></a>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>period</span>)</span></code>
<br />
Change the timeout period</td></tr>
</table><br />


<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
  <th colspan="2">Class Variable Summary</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>NoneType</code></font></td>
<td><b><a href="twisted.protocols.smtp.SMTP.html#_onLogout"><code>_onLogout</code></a></b> = <span title="None">None&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>NoneType</code></font></td>
<td><b><a href="twisted.protocols.smtp.SMTP.html#delivery"><code>delivery</code></a></b> = <span title="None">None&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>NoneType</code></font></td>
<td><b><a href="twisted.protocols.smtp.SMTP.html#deliveryFactory"><code>deliveryFactory</code></a></b> = <span title="None">None&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.smtp.SMTP.html#host"><code>host</code></a></b> = <span title="'twistedmatrix.com'"><code><span class="variable-quote">'</span>twistedmatrix.com<span class="variable-quote">'</span>                               </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>SRE_Pattern</code></font></td>
<td><b><a href="twisted.protocols.smtp.SMTP.html#mail_re"><code>mail_re</code></a></b> = <span title="&lt;_sre.SRE_Pattern object at 0x84d1590&gt;"><code><span class="re"><span class="re-char">\s</span><span class="re-op">*</span>FROM:<span class="re-char">\s</span><span class="re-op">*</span><span class="re-group">(</span>&lt;&gt;<span class="re-op">|</span>&lt;<span class="re-group">(</span>"<span class="re-group">[^</span>"<span class="re-group">]</span><span class="re-op">*</span>"<span class="re-op">|</span><span class="re-char">\\</span><span class="re-char">.</span><span class="re-op">|</span><span class="re-group">[</span>-A<span class="re-group">-</span>Za<span class="re-group">-</span>z0<span class="re-group">-</span>9!#<span class="re-char">\$</span>%&amp;<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>NoneType</code></font></td>
<td><b><a href="twisted.protocols.smtp.SMTP.html#portal"><code>portal</code></a></b> = <span title="None">None&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.smtp.SMTP.html#qstring"><code>qstring</code></a></b> = <span title="'(&quot;[^&quot;]*&quot;|\\\\.|[-A-Za-z0-9!\\#$%&amp;\'*+/=?^_`{|}~]|[@.,:])+'"><code><span class="variable-quote">'</span>(&quot;[^&quot;]*&quot;|\\\\.|[-A-Za-z0-9!\\#$%&amp;\'*+/=?^_`{|<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>SRE_Pattern</code></font></td>
<td><b><a href="twisted.protocols.smtp.SMTP.html#rcpt_re"><code>rcpt_re</code></a></b> = <span title="&lt;_sre.SRE_Pattern object at 0x85db8c8&gt;"><code><span class="re"><span class="re-char">\s</span><span class="re-op">*</span>TO:<span class="re-char">\s</span><span class="re-op">*</span><span class="re-group">(</span>&lt;<span class="re-group">(</span>"<span class="re-group">[^</span>"<span class="re-group">]</span><span class="re-op">*</span>"<span class="re-op">|</span><span class="re-char">\\</span><span class="re-char">.</span><span class="re-op">|</span><span class="re-group">[</span>-A<span class="re-group">-</span>Za<span class="re-group">-</span>z0<span class="re-group">-</span>9!#<span class="re-char">\$</span>%&amp;'<span class="re-char">\*</span><span class="re-char">\+<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="twisted.protocols.smtp.SMTP.html#timeout"><code>timeout</code></a></b> = <span title="600">600&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr bgcolor="#e8f0f8" class="group">
  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from LineReceiver</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.basic.LineReceiver.html#__buffer"><code>_LineReceiver__buffer</code></a></b> = <span title="''"><code><span class="variable-quote">'</span><span class="variable-quote">'</span>                               </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.basic.LineReceiver.html#delimiter"><code>delimiter</code></a></b>: The line-ending delimiter to use.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="twisted.protocols.basic.LineReceiver.html#line_mode"><code>line_mode</code></a></b> = <span title="1">1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="twisted.protocols.basic.LineReceiver.html#MAX_LENGTH"><code>MAX_LENGTH</code></a></b>: The maximum length of a line to allow (If a sent line is longer than 
this, the connection is dropped).</td></tr>
<tr bgcolor="#e8f0f8" class="group">
  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from Protocol</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>tuple</code></font></td>
<td><b><a href="twisted.internet.protocol.Protocol.html#__implements__"><code>__implements__</code></a></b> = <span title="(&lt;class twisted.internet.interfaces.IProtocol at 0x8278f0c&gt;,)"><code>(&lt;class&nbsp;twisted.internet.interfaces.IPr<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr bgcolor="#e8f0f8" class="group">
  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseProtocol</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="twisted.internet.protocol.BaseProtocol.html#connected"><code>connected</code></a></b> = <span title="0">0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>NoneType</code></font></td>
<td><b><a href="twisted.internet.protocol.BaseProtocol.html#transport"><code>transport</code></a></b> = <span title="None">None&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr bgcolor="#e8f0f8" class="group">
  <th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TimeoutMixin</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>NoneType</code></font></td>
<td><b><a href="twisted.protocols.policies.TimeoutMixin.html#__lastReceived"><code>_TimeoutMixin__lastReceived</code></a></b> = <span title="None">None&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>NoneType</code></font></td>
<td><b><a href="twisted.protocols.policies.TimeoutMixin.html#__timeoutCall"><code>_TimeoutMixin__timeoutCall</code></a></b> = <span title="None">None&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>NoneType</code></font></td>
<td><b><a href="twisted.protocols.policies.TimeoutMixin.html#timeOut"><code>timeOut</code></a></b>: The number of seconds after which to timeout the connection.</td></tr>
</table><br />


<!-- =========== START OF METHOD DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
  <th colspan="2">Method Details</th></tr>
</table>

<a name="connectionMade"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  <h3><span class="sig"><span class="sig-name">connectionMade</span>(<span class=sig-arg>self</span>)</span>
  </h3>
  <p>Called when a connection is made.</p>
  This may be considered the initializer of the protocol, because it 
  is called when the connection is completed. For clients, this is called 
  once the connection to the server has been established; for servers, 
  this is called after an accept() call stops blocking and a socket has 
  been received. If you need to send any greeting or initial message, do 
  it here.
  <dl><dt></dt><dd>
    <dl><dt><b>Overrides:</b></dt>
      <dd><a href="twisted.internet.protocol.BaseProtocol.html#connectionMade"><code>twisted.internet.protocol.BaseProtocol.connectionMade</code></a> <i>(inherited documentation)</i>
</dd>
    </dl>
  </dd></dl>
</td></tr></table>

<a name="lineLengthExceeded"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  <h3><span class="sig"><span class="sig-name">lineLengthExceeded</span>(<span class=sig-arg>self</span>,
          <span class=sig-arg>line</span>)</span>
  </h3>
  Called when the maximum line length has been reached. Override if it 
  needs to be dealt with in some special way.
  <dl><dt></dt><dd>
    <dl><dt><b>Overrides:</b></dt>
      <dd><a href="twisted.protocols.basic.LineReceiver.html#lineLengthExceeded"><code>twisted.protocols.basic.LineReceiver.lineLengthExceeded</code></a> <i>(inherited documentation)</i>
</dd>
    </dl>
  </dd></dl>
</td></tr></table>

<a name="lineReceived"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  <h3><span class="sig"><span class="sig-name">lineReceived</span>(<span class=sig-arg>self</span>,
          <span class=sig-arg>line</span>)</span>
  </h3>
  Override this for when each line is received.
  <dl><dt></dt><dd>
    <dl><dt><b>Overrides:</b></dt>
      <dd><a href="twisted.protocols.basic.LineReceiver.html#lineReceived"><code>twisted.protocols.basic.LineReceiver.lineReceived</code></a> <i>(inherited documentation)</i>
</dd>
    </dl>
  </dd></dl>
</td></tr></table>

<a name="rawDataReceived"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  <h3><span class="sig"><span class="sig-name">rawDataReceived</span>(<span class=sig-arg>self</span>,
          <span class=sig-arg>data</span>)</span>
  </h3>
  Throw away rest of long line
  <dl><dt></dt><dd>
    <dl><dt><b>Overrides:</b></dt>
      <dd><a href="twisted.protocols.basic.LineReceiver.html#rawDataReceived"><code>twisted.protocols.basic.LineReceiver.rawDataReceived</code></a></dd>
    </dl>
  </dd></dl>
</td></tr></table>

<a name="sendCode"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  <h3><span class="sig"><span class="sig-name">sendCode</span>(<span class=sig-arg>self</span>,
          <span class=sig-arg>code</span>,
          <span class=sig-arg>message</span>=<span class=sig-default>''</span>)</span>
  </h3>
  Send an SMTP code with a message.
  <dl><dt></dt><dd>
  </dd></dl>
</td></tr></table>

<a name="timeoutConnection"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  <h3><span class="sig"><span class="sig-name">timeoutConnection</span>(<span class=sig-arg>self</span>)</span>
  </h3>
  Called when the connection times out. Override to define behavior 
  other than dropping the connection.
  <dl><dt></dt><dd>
    <dl><dt><b>Overrides:</b></dt>
      <dd><a href="twisted.protocols.policies.TimeoutMixin.html#timeoutConnection"><code>twisted.protocols.policies.TimeoutMixin.timeoutConnection</code></a> <i>(inherited documentation)</i>
</dd>
    </dl>
  </dd></dl>
</td></tr></table>

<a name="validateFrom"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  <h3><span class="sig"><span class="sig-name">validateFrom</span>(<span class=sig-arg>self</span>,
          <span class=sig-arg>helo</span>,
          <span class=sig-arg>origin</span>)</span>
  </h3>
  Validate the address from which the message originates.
  <dl><dt></dt><dd>
    <dl><dt><b>Parameters:</b></dt>
      <dd><code><b>helo</b></code> -
         The argument to the HELO command and the client's IP 
        address.
        <br /><i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        (type=<code>(str, str)</code>)</i>
      <dd><code><b>origin</b></code> -
         The address the message is from
        <br /><i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        (type=<code>Address</code>)</i>
      </dd>
    </dl>
    <dl><dt><b>Returns:</b></dt>
      <dd>
        <code>origin</code> or a <code>Deferred</code> whose callback 
        will be passed <code>origin</code>.
        <br /><i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        (type=<code>Deferred</code> or <code>Address</code>)</i>
      </dd>
    </dl>
    <dl><dt><b>Raises:</b></dt>
      <dd><code><b>SMTPBadSender</b></code> -
        Raised of messages from this address are not to be 
        accepted.
    </dl>
  </dd></dl>
</td></tr></table>

<a name="validateTo"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  <h3><span class="sig"><span class="sig-name">validateTo</span>(<span class=sig-arg>self</span>,
          <span class=sig-arg>user</span>)</span>
  </h3>
  Validate the address for which the message is destined.
  <dl><dt></dt><dd>
    <dl><dt><b>Parameters:</b></dt>
      <dd><code><b>user</b></code> -
         The address to validate.
        <br /><i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        (type=<code>User</code>)</i>
      </dd>
    </dl>
    <dl><dt><b>Returns:</b></dt>
      <dd>
        A <code>Deferred</code> which becomes, or a callable which 
        takes no arguments and returns an object implementing 
        <code>IMessage</code>. This will be called and the returned 
        object used to deliver the message when it arrives.
        <br /><i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        (type=no-argument callable)</i>
      </dd>
    </dl>
    <dl><dt><b>Raises:</b></dt>
      <dd><code><b>SMTPBadRcpt</b></code> -
        Raised if messages to the address are not to be accepted.
    </dl>
  </dd></dl>
</td></tr></table>
<br />


<!-- =========== START OF CLASS VARIABLE DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
  <th colspan="2">Class Variable Details</th></tr>
</table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="_onLogout"></a>
<h3>_onLogout</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>NoneType</code>

      </dd>
<span title="None">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
None&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="delivery"></a>
<h3>delivery</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>NoneType</code>

      </dd>
<span title="None">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
None&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="deliveryFactory"></a>
<h3>deliveryFactory</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>NoneType</code>

      </dd>
<span title="None">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
None&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="host"></a>
<h3>host</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'twistedmatrix.com'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>twistedmatrix.com<span class="variable-quote">'</span>                                                    </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="mail_re"></a>
<h3>mail_re</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>SRE_Pattern</code>

      </dd>
<span title="&lt;_sre.SRE_Pattern object at 0x84d1590&gt;">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="re"><span class="re-char">\s</span><span class="re-op">*</span>FROM:<span class="re-char">\s</span><span class="re-op">*</span><span class="re-group">(</span>&lt;&gt;<span class="re-op">|</span>&lt;<span class="re-group">(</span>"<span class="re-group">[^</span>"<span class="re-group">]</span><span class="re-op">*</span>"<span class="re-op">|</span><span class="re-char">\\</span><span class="re-char">.</span><span class="re-op">|</span><span class="re-group">[</span>-A<span class="re-group">-</span>Za<span class="re-group">-</span>z0<span class="re-group">-</span>9!#<span class="re-char">\$</span>%&amp;'<span class="re-char">\*</span><span class="re-char">\+</span>/=<span class="re-char">\?</span><span class="re-char">\^</span>_`<span class="re-char">\{</span><span class="re-char">\|</span><span class="re-char">\}</span>~<span class="re-group">]</span><span class="re-op">|</span><span class="re-group">[</span>@<span class="variable-linewrap">\</span>
<span class="re-char">\.</span>,:<span class="re-group">]</span><span class="re-group">)</span><span class="re-op">+</span>&gt;<span class="re-op">|</span><span class="re-group">(</span>"<span class="re-group">[^</span>"<span class="re-group">]</span><span class="re-op">*</span>"<span class="re-op">|</span><span class="re-char">\\</span><span class="re-char">.</span><span class="re-op">|</span><span class="re-group">[</span>-A<span class="re-group">-</span>Za<span class="re-group">-</span>z0<span class="re-group">-</span>9!#<span class="re-char">\$</span>%&amp;'<span class="re-char">\*</span><span class="re-char">\+</span>/=<span class="re-char">\?</span><span class="re-char">\^</span>_`<span class="re-char">\{</span><span class="re-char">\|</span><span class="re-char">\}</span>~<span class="re-group">]</span><span class="re-op">|</span><span class="re-group">[</span>@<span class="re-char">\.</span>,:<span class="re-group">]</span><span class="re-group">)</span><span class="re-op">+<span class="variable-linewrap">\</span>
</span><span class="re-group">)</span><span class="re-char">\s</span><span class="re-op">*</span><span class="re-group">(</span><span class="re-char">\s</span><span class="re-group">(</span><span class="re-char">.</span><span class="re-op">*</span><span class="re-group">)</span><span class="re-group">)</span><span class="re-op">?</span><span class="re-char">$</span></span>                                                         </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="portal"></a>
<h3>portal</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>NoneType</code>

      </dd>
<span title="None">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
None&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="qstring"></a>
<h3>qstring</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'(&quot;[^&quot;]*&quot;|\\\\.|[-A-Za-z0-9!\\#$%&amp;\'*+/=?^_`{|}~]|[@.,:])+'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>(&quot;[^&quot;]*&quot;|\\\\.|[-A-Za-z0-9!\\#$%&amp;\'*+/=?^_`{|}~]|[&#64;.,:])+<span class="variable-quote">'</span>            </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="rcpt_re"></a>
<h3>rcpt_re</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>SRE_Pattern</code>

      </dd>
<span title="&lt;_sre.SRE_Pattern object at 0x85db8c8&gt;">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="re"><span class="re-char">\s</span><span class="re-op">*</span>TO:<span class="re-char">\s</span><span class="re-op">*</span><span class="re-group">(</span>&lt;<span class="re-group">(</span>"<span class="re-group">[^</span>"<span class="re-group">]</span><span class="re-op">*</span>"<span class="re-op">|</span><span class="re-char">\\</span><span class="re-char">.</span><span class="re-op">|</span><span class="re-group">[</span>-A<span class="re-group">-</span>Za<span class="re-group">-</span>z0<span class="re-group">-</span>9!#<span class="re-char">\$</span>%&amp;'<span class="re-char">\*</span><span class="re-char">\+</span>/=<span class="re-char">\?</span><span class="re-char">\^</span>_`<span class="re-char">\{</span><span class="re-char">\|</span><span class="re-char">\}</span>~<span class="re-group">]</span><span class="re-op">|</span><span class="re-group">[</span>@<span class="re-char">\.</span>,:<span class="re-group">]<span class="variable-linewrap">\</span>
</span><span class="re-group">)</span><span class="re-op">+</span>&gt;<span class="re-op">|</span><span class="re-group">(</span>"<span class="re-group">[^</span>"<span class="re-group">]</span><span class="re-op">*</span>"<span class="re-op">|</span><span class="re-char">\\</span><span class="re-char">.</span><span class="re-op">|</span><span class="re-group">[</span>-A<span class="re-group">-</span>Za<span class="re-group">-</span>z0<span class="re-group">-</span>9!#<span class="re-char">\$</span>%&amp;'<span class="re-char">\*</span><span class="re-char">\+</span>/=<span class="re-char">\?</span><span class="re-char">\^</span>_`<span class="re-char">\{</span><span class="re-char">\|</span><span class="re-char">\}</span>~<span class="re-group">]</span><span class="re-op">|</span><span class="re-group">[</span>@<span class="re-char">\.</span>,:<span class="re-group">]</span><span class="re-group">)</span><span class="re-op">+</span><span class="re-group">)</span><span class="re-char">\s</span><span class="re-op">*</span><span class="re-group">(<span class="variable-linewrap">\</span>
</span><span class="re-char">\s</span><span class="re-group">(</span><span class="re-char">.</span><span class="re-op">*</span><span class="re-group">)</span><span class="re-group">)</span><span class="re-op">?</span><span class="re-char">$</span></span>                                                              </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="timeout"></a>
<h3>timeout</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>int</code>

      </dd>
<span title="600">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
600&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<br />


<!-- =========== START OF NAVBAR =========== -->
<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="center">
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="twisted.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar" align="right" width="100%">
      <table border="0" cellpadding="0" cellspacing="0">
      <tr><th class="navbar" align="center">
        <p class="nomargin">
          <a class="navbar" target="_top" href="http://twistedmatrix.com/">Twisted&nbsp;1.3.0rc1</a>
      </p></th></tr></table>
    </th>
  </tr>
</table>

<table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
    <td align="left"><font size="-2">Generated by Epydoc 2.0 on Sat May 15 20:08:01 2004</font></td>
    <td align="right"><a href="http://epydoc.sourceforge.net"
                      ><font size="-2">http://epydoc.sf.net</font></a></td>
  </tr>
</table>
</body>
</html>