<doc>
  <assembly>
    <name>Rebex.Smtp</name>
  </assembly>
  <members>
    <member name="T:Rebex.Net.Smtp">
      <summary>
            Provides methods for communication with SMTP servers.
            </summary>
      <remarks>All members of this class are thread-safe.</remarks>
    </member>
    <member name="F:Rebex.Net.Smtp.DefaultPort">
      <summary>
            Default SMTP port (25).
            </summary>
    </member>
    <member name="F:Rebex.Net.Smtp.DefaultImplicitSslPort">
      <summary>
            Default SMTP/Implicit SSL port (465).
            </summary>
    </member>
    <member name="F:Rebex.Net.Smtp.AlternativeExplicitSslPort">
      <summary>
            Alternative SMTP/Explicit SSL port (587).
            </summary>
    </member>
    <member name="E:Rebex.Net.Smtp.ResponseRead">
      <summary>
            Occurs when a response is received from the server.
            </summary>
    </member>
    <member name="E:Rebex.Net.Smtp.CommandSent">
      <summary>
            Occurs when a command is send to the server.
            </summary>
    </member>
    <member name="E:Rebex.Net.Smtp.StateChanged">
      <summary>
            Occurs when the state of the <see cref="T:Rebex.Net.Smtp" /> object is changed.
            </summary>
    </member>
    <member name="E:Rebex.Net.Smtp.TransferProgress">
      <summary>
            Occurs when data is send or received.
            </summary>
    </member>
    <member name="E:Rebex.Net.Smtp.RejectedRecipient">
      <summary>
            Occurs when a recipient is rejected by the server.
            </summary>
    </member>
    <member name="E:Rebex.Net.Smtp.SendingMessage">
      <summary>
            Occurs when a message is sent.
            </summary>
    </member>
    <member name="E:Rebex.Net.Smtp.ValidatingCertificate">
      <summary>
            Occurs when a server certificate needs to be validated.
            </summary>
    </member>
    <member name="M:Rebex.Net.Smtp.OnResponseRead(Rebex.Net.SmtpResponseReadEventArgs)">
      <summary>
            Raises the <see cref="E:Rebex.Net.Smtp.ResponseRead" /> event.
            </summary>
      <param name="e">A <see cref="T:Rebex.Net.SmtpResponseReadEventArgs" /> that contains the event data.</param>
    </member>
    <member name="M:Rebex.Net.Smtp.OnCommandSent(Rebex.Net.SmtpCommandSentEventArgs)">
      <summary>
            Raises the <see cref="E:Rebex.Net.Smtp.CommandSent" /> event.
            </summary>
      <param name="e">A <see cref="T:Rebex.Net.SmtpCommandSentEventArgs" /> that contains the event data.</param>
    </member>
    <member name="M:Rebex.Net.Smtp.OnStateChanged(Rebex.Net.SmtpStateChangedEventArgs)">
      <summary>
            Raises the <see cref="E:Rebex.Net.Smtp.StateChanged" /> event.
            </summary>
      <param name="e">A <see cref="T:Rebex.Net.SmtpStateChangedEventArgs" /> that contains the event data.</param>
    </member>
    <member name="M:Rebex.Net.Smtp.OnTransferProgress(Rebex.Net.SmtpTransferProgressEventArgs)">
      <summary>
            Raises the <see cref="E:Rebex.Net.Smtp.TransferProgress" /> event.
            </summary>
      <param name="e">A <see cref="T:Rebex.Net.SmtpTransferProgressEventArgs" /> that contains the event data.</param>
    </member>
    <member name="M:Rebex.Net.Smtp.#ctor">
      <summary>
            Initializes a new instance of the Smtp class.
            </summary>
    </member>
    <member name="M:Rebex.Net.Smtp.Dispose">
      <summary>
            Disposes the <see cref="T:Rebex.Net.Smtp" /> object and all the socket objects.
            </summary>
      <remarks>
            Calling this method ensures that all resources are freed.
            </remarks>
    </member>
    <member name="M:Rebex.Net.Smtp.Dispose(System.Boolean)">
      <summary>
            Releases the unmanaged resources used by the <see cref="T:Rebex.Net.Smtp" />
            and optionally releases the managed resources.
            </summary>
      <param name="disposing">
        <b>true</b> to release both managed and unmanaged resources; <b>false</b> to release only unmanaged resources.</param>
    </member>
    <member name="M:Rebex.Net.Smtp.Finalize">
      <summary>
            Finalizer. Called by garbage collector during object destruction.
            </summary>
    </member>
    <member name="M:Rebex.Net.Smtp.Abort">
      <summary>
            Aborts the current operation.
            </summary>
      <remarks>
        <p>
            The aborted operation will end either successfully, or with
            <see cref="T:Rebex.Net.SmtpException" /> of status <see cref="T:Rebex.Net.SmtpExceptionStatus">OperationAborted</see>
            or <see cref="T:Rebex.Net.SmtpExceptionStatus">Timeout</see>.
            The <see cref="T:Rebex.Net.Smtp" /> object may remain in <see cref="T:Rebex.Net.SmtpState">Reading</see>,
            <see cref="T:Rebex.Net.SmtpState">Sending</see> or <see cref="T:Rebex.Net.SmtpState">Processing</see>
            state. In this case, the <see cref="T:Rebex.Net.Smtp" /> object is not usable any more and a call
            to <see cref="M:Rebex.Net.Smtp.Disconnect" /> is recommended.
            </p>
      </remarks>
    </member>
    <member name="M:Rebex.Net.Smtp.Connect(System.String)">
      <summary>
            Connects to the SMTP server.
            </summary>
      <param name="serverName">The server address - either a hostname or a dotted string address.</param>
      <returns>Welcome message returned by the server.</returns>
    </member>
    <member name="M:Rebex.Net.Smtp.Connect(System.String,System.Int32)">
      <summary>
            Connects to the SMTP server.
            </summary>
      <param name="serverName">The server address - either a hostname or a dotted string address.</param>
      <param name="serverPort">The server port (e.g. 25).</param>
      <returns>The welcome message returned by the server.</returns>
    </member>
    <member name="M:Rebex.Net.Smtp.Connect(System.String,System.Int32,Rebex.Net.SslMode)">
      <summary>
            Connects to the SMTP server with the specified security.
            </summary>
      <param name="serverName">The server address - either a hostname or a dotted string IP address.</param>
      <param name="serverPort">The server port (e.g. 25).</param>
      <param name="security">Connection security.</param>
      <returns>The welcome message returned by the server.</returns>
    </member>
    <member name="M:Rebex.Net.Smtp.Connect(System.String,Rebex.Net.SslMode)">
      <summary>
            Connects to the SMTP server with the specified security. Uses port 25 for no SSL, 587 for explicit SSL and 465 for implicit SSL.
            </summary>
      <param name="serverName">The server address - either a hostname or a dotted string IP address.</param>
      <param name="security">Connection security.</param>
      <returns>The welcome message returned by the server.</returns>
    </member>
    <member name="M:Rebex.Net.Smtp.Disconnect">
      <summary>
            Informs the server that the connection is about to close and
            terminates the connection.
            </summary>
      <returns>The exit message returned by the server.</returns>
      <remarks>Represents SMTP QUIT command.</remarks>
    </member>
    <member name="M:Rebex.Net.Smtp.Secure">
      <summary>
            Secures the connection with TLS/SSL using default parameters.
            </summary>
    </member>
    <member name="M:Rebex.Net.Smtp.Send(Rebex.Mime.MimeMessage,System.String,System.String)">
      <summary>
            Sends a mail message (<see cref="T:Rebex.Mime.MimeMessage" />).
            </summary>
      <param name="mail">The message.</param>
      <param name="sender">Message sender address (can be null or empty).</param>
      <param name="recipients">The list of recipients (can be null).</param>
      <remarks>
            If the sender address argument is null (Nothing in Visual Basic), it is taken from the from the "Sender" header field
            or from the first address in the "From" field if the "Sender" is missing.<br />
            If the sender address argument is empty string, it means null sender - same behavior as if "&lt;&gt;" would be specified.<br />
            If the recipients argument is null (Nothing in Visual Basic), it overrides the list of recipients contained in the message. If the recipients argument is null,
            the list of recipients is extracted from "To", "Cc" and "Bcc" header fields.<br />
            The "Bcc" field is removed from message headers prior to sending.
            Set the <see cref="P:Rebex.Net.SmtpSettings.AllowNullSender" /> property to allow sending a mime message without a sender specified.
            </remarks>
    </member>
    <member name="M:Rebex.Net.Smtp.Send(Rebex.Mail.MailMessage,System.String,System.String)">
      <summary>
            Sends a mail message (<see cref="T:Rebex.Mail.MailMessage" />).
            </summary>
      <param name="mail">The message.</param>
      <param name="sender">Message sender address (can be null or empty string).</param>
      <param name="recipients">The list of recipients (can be null).</param>
      <remarks>
            If the sender address argument is null (Nothing in Visual Basic), it is taken from the from the "Sender" header field
            or from the first address in the "From" field if the "Sender" is missing.<br />
            If the sender address argument is empty string, it means null sender - same behavior as if "&lt;&gt;" would be specified.<br />
            If the recipients argument is null (Nothing in Visual Basic), it overrides the list of recipients contained in the message. If the recipients argument is null,
            the list of recipients is extracted from "To", "Cc" and "Bcc" header fields.<br />
            The "Bcc" field is removed from message headers prior to sending.
            Set the <see cref="P:Rebex.Net.SmtpSettings.AllowNullSender" /> property to allow sending a mail message without a sender specified.
            </remarks>
    </member>
    <member name="M:Rebex.Net.Smtp.Send(Rebex.Mime.MimeMessage)">
      <summary>
            Sends a mail message (<see cref="T:Rebex.Mime.MimeMessage" />).
            </summary>
      <param name="mail">The message.</param>
      <remarks>
            Both sender and the list of recipients are extracted from the message.
            The sender address is taken from the "Sender" header field or from the first address in the "From" field if the "Sender" is missing.
            The list of recipients comes from "To", "Cc" and "Bcc" header fields.
            Also, the "Bcc" field is removed from message headers prior to sending.
            Set the <see cref="P:Rebex.Net.SmtpSettings.AllowNullSender" /> property to allow sending a mime message without a sender specified.
            </remarks>
    </member>
    <member name="M:Rebex.Net.Smtp.Send(Rebex.Mail.MailMessage)">
      <summary>
            Sends a mail message (<see cref="T:Rebex.Mail.MailMessage" />).
            </summary>
      <param name="mail">The message.</param>
      <remarks>
            Both sender and the list of recipients are extracted from the message.
            The sender address is taken from the "Sender" header field or from the first address in the "From" field if the "Sender" is missing.
            The list of recipients comes from "To", "Cc" and "Bcc" header fields.
            Also, the "Bcc" field is removed from message headers prior to sending.
            Set the <see cref="P:Rebex.Net.SmtpSettings.AllowNullSender" /> property to allow sending a mail message without a sender specified.
            </remarks>
    </member>
    <member name="M:Rebex.Net.Smtp.Send(System.String,System.String,System.String,System.String)">
      <summary>
            Sends a mail message constructed from the specified parameters.
            </summary>
      <param name="from">Message sender.</param>
      <param name="to">Comma-separated list of message recipients.</param>
      <param name="subject">The subject of the message.</param>
      <param name="body">The text body of the message.</param>
      <remarks>
            Set the <see cref="P:Rebex.Net.SmtpSettings.AllowNullSender" /> property to allow sending a mail without a sender specified.
            </remarks>
    </member>
    <member name="M:Rebex.Net.Smtp.Send(System.IO.Stream,System.String,System.String)">
      <summary>
            Reads and sends a mail message from the specified stream in MIME format.
            </summary>
      <param name="input">The input stream.</param>
      <param name="sender">Message sender address (can be null or empty string).</param>
      <param name="recipients">The list of recipients (can be null).</param>
      <remarks>
        <p>
            The stream must contain data in MIME format, other formats are not supported.
            MIME files often have the '.eml' extension and are produced by Outlook Express.
            In contrast, Outlook produces '.msg' files that are not MIME files and therefore
            cannot be sent using this method.
            </p>
        <p>
            If the sender address argument is null (Nothing in Visual Basic), it is taken from the from the "Sender" header field
            or from the first address in the "From" field if the "Sender" is missing.<br />
            If the sender address argument is empty string, it means null sender - same behavior as if "&lt;&gt;" would be specified.<br />
            If the recipients argument is null (Nothing in Visual Basic), it overrides the list of recipients contained in the message. If the recipients argument is null,
            the list of recipients is extracted from "To", "Cc" and "Bcc" header fields.<br />
            The "Bcc" field is removed from message headers prior to sending.
            </p>
        <p>
            Set the <see cref="P:Rebex.Net.SmtpSettings.AllowNullSender" /> property to allow sending a mail without a sender specified.
            </p>
      </remarks>
    </member>
    <member name="M:Rebex.Net.Smtp.Send(System.IO.Stream)">
      <summary>
            Reads and sends a mail message from the specified stream in MIME format.
            </summary>
      <param name="input">The input stream.</param>
      <remarks>
        <p>
            The stream must contain data in MIME format, other formats are not supported.
            MIME files often have the '.eml' extension and are produced by Outlook Express.
            In contrast, Outlook produces '.msg' files that are not MIME files and therefore
            cannot be sent using this method.
            </p>
        <p>
            Both sender and the list of recipients are extracted from the message.
            The sender address is taken from the "Sender" header field, or from the first address in the "From" field if the "Sender" is missing.
            The list of recipients comes from "To", "Cc" and "Bcc" header fields.
            Also, the "Bcc" field is removed from message headers prior to sending.
            </p>
        <p>
            Set the <see cref="P:Rebex.Net.SmtpSettings.AllowNullSender" /> property to allow sending a mail without a sender specified.
            </p>
      </remarks>
    </member>
    <member name="M:Rebex.Net.Smtp.Send(System.String)">
      <summary>
            Reads and sends a mail message from the specified local file in MIME format.
            </summary>
      <param name="fileName">The path to the mail message file.</param>
      <remarks>
        <p>
            The file must be in MIME format, other formats are not supported.
            MIME files often have the '.eml' extension and are produced by Outlook Express.
            In contrast, Outlook produces '.msg' files that are not MIME files and therefore
            cannot be sent using this method.
            </p>
        <p>
            Both sender and the list of recipients are extracted from the message.
            The sender address is taken from the "Sender" header field, or from the first address in the "From" field if the "Sender" is missing.
            The list of recipients comes from "To", "Cc" and "Bcc" header fields.
            Also, the "Bcc" field is removed from message headers prior to sending.
            </p>
        <p>
            Set the <see cref="P:Rebex.Net.SmtpSettings.AllowNullSender" /> property to allow sending a mail without a sender specified.
            </p>
      </remarks>
    </member>
    <member name="M:Rebex.Net.Smtp.Send(System.String,System.String,System.String)">
      <summary>
            Reads and sends a mail message from the specified local file in MIME format.
            </summary>
      <param name="fileName">The path to the mail message file.</param>
      <param name="sender">Message sender address (can be null or empty string).</param>
      <param name="recipients">The list of recipients (can be null).</param>
      <remarks>
        <p>
            The stream must contain data in MIME format, other formats are not supported.
            MIME files often have the '.eml' extension and are produced by Outlook Express.
            In contrast, Outlook produces '.msg' files that are not MIME files and therefore
            cannot be sent using this method.
            </p>
        <p>
            If the sender address argument is null (Nothing in Visual Basic), it is taken from the from the "Sender" header field
            or from the first address in the "From" field if the "Sender" is missing.<br />
            If the sender address argument is empty string, it means null sender - same behavior as if "&lt;&gt;" would be specified.<br />
            If the recipients argument is null (Nothing in Visual Basic), it overrides the list of recipients contained in the message. If the recipients argument is null,
            the list of recipients is extracted from "To", "Cc" and "Bcc" header fields.<br />
            The "Bcc" field is removed from message headers prior to sending.
            </p>
        <p>
            Set the <see cref="P:Rebex.Net.SmtpSettings.AllowNullSender" /> property to allow sending a mail without a sender specified.
            </p>
      </remarks>
    </member>
    <member name="M:Rebex.Net.Smtp.Login(Rebex.Net.SmtpAuthentication)">
      <summary>
            Authenticates the user to the SMTP server using the specified authentication method that does not require credentials (NTLM or GSSAPI).
            Only supported on Windows.
            </summary>
      <param name="method">Authentication method.</param>
    </member>
    <member name="M:Rebex.Net.Smtp.Login(Rebex.Net.GssApiProvider)">
      <summary>
            Authenticates the user to the SMTP server using the specified GSSAPI provider.
            Only supported on Windows and partially on Mono.
            </summary>
      <param name="provider">GSSAPI provider.</param>
    </member>
    <member name="M:Rebex.Net.Smtp.Login(System.String,System.String,Rebex.Net.SmtpAuthentication)">
      <summary>
            Authenticates the user to the SMTP server using the specified authentication method.
            </summary>
      <param name="userName">User name.</param>
      <param name="password">Password.</param>
      <param name="method">Authentication method.</param>
    </member>
    <member name="M:Rebex.Net.Smtp.Login(System.String,Rebex.Net.SmtpAuthentication)">
      <summary>
            Authenticates the user to the SMTP server using an OAuth token.
            </summary>
      <param name="token">Authentication token.</param>
      <param name="method">Authentication method (only OAuth 2.0 is supported at the moment).</param>
    </member>
    <member name="M:Rebex.Net.Smtp.SendCommand(System.String)">
      <summary>
            Executes a command on the SMTP server.
            </summary>
      <param name="command">Command (e.g. "HELP").</param>
      <remarks>
        <p>Must be followed by a call to <see cref="M:Rebex.Net.Smtp.ReadResponse">ReadResponse</see> method.</p>
        <p>Use <see cref="M:Rebex.Net.Smtp.ReadResponse">ReadResponse</see> and SendCommand to implement various custom commands.</p>
      </remarks>
    </member>
    <member name="M:Rebex.Net.Smtp.ReadResponse">
      <summary>
            Returns the response of the SMTP server to the command.
            </summary>
      <returns>Response of the SMTP server.</returns>
      <remarks>
        <p>Use ReadResponse and <see cref="M:Rebex.Net.Smtp.SendCommand(System.String)">SendCommand</see> to implement various custom commands.</p>
        <p>
            After a successful call to ReadResponse,
            the <see cref="T:Rebex.Net.Smtp" /> object will be in <see cref="T:Rebex.Net.SmtpState">Processing</see> state if the response <see cref="P:Rebex.Net.SmtpResponse.Group">Group</see> is 3,
            in <see cref="T:Rebex.Net.SmtpState">Reading</see> state if the response <see cref="P:Rebex.Net.SmtpResponse.Group">Group</see> is 1 or
            in <see cref="T:Rebex.Net.SmtpState">Ready</see> state in other cases.
            </p>
      </remarks>
    </member>
    <member name="M:Rebex.Net.Smtp.CheckConnectionState">
      <summary>
            Checks whether the SMTP session is still connected. Throws an exception on error.
            </summary>
    </member>
    <member name="M:Rebex.Net.Smtp.GetConnectionState">
      <summary>
            Checks whether the SMTP session is still connected and returns its state.
            </summary>
      <returns>Connection state.</returns>
    </member>
    <member name="M:Rebex.Net.Smtp.ToString">
      <summary>
            Returns a string representation of this object.
            </summary>
      <returns>A string representing this object</returns>
    </member>
    <member name="M:Rebex.Net.Smtp.Login(System.String,System.String)">
      <summary>
            Authenticates the user to the SMTP server.
            </summary>
      <param name="userName">User name.</param>
      <param name="password">Password.</param>
      <remarks>
            This method tries to authenticate using the following methods,
            in this order of preference: CRAM-MD5, DIGEST-MD5, PLAIN, LOGIN, GSSAPI, NTLM.
            The NTLM and GSSAPI methods are only attempted if no other method is available -
            please use <see cref="M:Rebex.Net.Smtp.Login(System.String,System.String,Rebex.Net.SmtpAuthentication)" /> and specify
            NTLM or GSSAPI directly if you wish to use them.
            </remarks>
    </member>
    <member name="M:Rebex.Net.Smtp.KeepAlive">
      <summary>
            Sends the NOOP command to the server to keep the connection alive.
            </summary>
      <remarks>
        <p>Represents SMTP NOOP command.</p>
        <p>Call this if you do not want the connection to the server to time out.</p>
        <p>Some servers ignore NOOP command.</p>
      </remarks>
    </member>
    <member name="P:Rebex.Net.Smtp.Proxy">
      <summary>
            Gets or sets the network proxy to use to access a remote server.
            </summary>
      <value>The <see cref="P:Rebex.Net.Smtp.Proxy" /> to use to access a remote server.</value>
    </member>
    <member name="M:Rebex.Net.Smtp.SetSocketFactory(Rebex.Net.ISocketFactory)">
      <summary>
            Sets the socket factory to be used to create communication sockets.
            </summary>
      <param name="factory">Socket factory.</param>
    </member>
    <member name="P:Rebex.Net.Smtp.Encoding">
      <summary>
            Gets or sets the <see cref="T:System.Text.Encoding">Encoding</see> to use to encode and decode command parameters and server responses.
            </summary>
      <value>The <see cref="T:System.Text.Encoding">Encoding</see> to use to encode and decode command parameters and server responses. Default is <see cref="P:System.Text.Encoding.UTF8" />.</value>
    </member>
    <member name="P:Rebex.Net.Smtp.Settings">
      <summary>
            Gets or sets Smtp object settings.
            </summary>
      <value>Smtp object settings.</value>
    </member>
    <member name="P:Rebex.Net.Smtp.SupportedExtensions">
      <summary>
            Gets the bit field specifying the extensions supported by the server.
            </summary>
      <value>Extensions supported by the server.</value>
    </member>
    <member name="P:Rebex.Net.Smtp.EnabledExtensions">
      <summary>
            Gets or sets the bit field specifying the enabled extensions.
            </summary>
      <value>Enabled extensions.</value>
      <remarks>
            Enabled extensions will be used when appropriate.
            By default, all extensions are enabled.
            </remarks>
    </member>
    <member name="M:Rebex.Net.Smtp.GetSupportedAuthenticationMethods">
      <summary>
            Gets the list of supported authentication methods.
            </summary>
      <returns>The list of supported authentication methods.</returns>
    </member>
    <member name="P:Rebex.Net.Smtp.IsSecured">
      <summary>
            Gets the value indicating whether the control connection is secured.
            </summary>
      <value>True if secure, false if not secure.</value>
    </member>
    <member name="P:Rebex.Net.Smtp.TlsSocket">
      <summary>
            Returns the TLS/SSL socket of secured control connection.
            </summary>
      <returns>The TLS/SSL socket of secured control connection, or null if the connection is not secured.</returns>
      <remarks>
            This property is intended for advanced users only.
            <see cref="T:Rebex.Net.Smtp" /> class does not expect the socket to be altered in any way.
            </remarks>
    </member>
    <member name="P:Rebex.Net.Smtp.Timeout">
      <summary>
            Gets or sets the length of time in milliseconds before the operation times out (specify -1 or 0 to indicate that the request does not time out).
            </summary>
      <value>
            The length of time, in milliseconds, until the operation times out,
            or the value -1 or 0 to indicate that the request does not time out.
            Default is 60000 (60 seconds).
            </value>
      <remarks>
        <p>
            The internal timeout counter is reset every time data is sent
            or received from to server.
            </p>
        <p>
            The <see cref="P:Rebex.Net.Smtp.Timeout" /> property affects both synchronous and asynchronous methods.
            </p>
        <p>
            Minimal value is 1000. Setting this to a value lower than 1000 will set it to 1000.
            </p>
      </remarks>
    </member>
    <member name="P:Rebex.Net.Smtp.AbortTimeout">
      <summary>
            Gets or sets the length of time before the abort operation times out.
            </summary>
      <value>The length of time, in milliseconds, until the abort operation times out.
            Default is 3000, which seems to be a reasonable value.
            </value>
      <remarks>
            Minimal value is 1000. Setting this to a value lower than 1000 will set it to 1000.
            </remarks>
    </member>
    <member name="P:Rebex.Net.Smtp.State">
      <summary>
            Gets the current state of the <see cref="T:Rebex.Net.Smtp" /> object.
            </summary>
      <value>The current state.</value>
    </member>
    <member name="P:Rebex.Net.Smtp.LocalEndPoint">
      <summary>
            Gets the local client <see cref="T:System.Net.EndPoint" />.
            </summary>
      <value>The local client <see cref="T:System.Net.EndPoint" />.</value>
    </member>
    <member name="P:Rebex.Net.Smtp.RemoteEndPoint">
      <summary>
            Gets the remote server <see cref="T:System.Net.EndPoint" />.
            </summary>
      <value>The remote server <see cref="T:System.Net.EndPoint" />.</value>
    </member>
    <member name="P:Rebex.Net.Smtp.IsConnected">
      <summary>
            Gets a value indicating whether the session is connected.
            </summary>
      <remarks>
        <p>
            This property returns the latest known state of the session. 
            When it returns false, the session was either never connected, or no longer connected. 
            When it returns true, the session was connected at the time of the last I/O operation.
            </p>
        <p>
          <b>Note:</b> There is no guarantee that the session is still connected even though
            <see cref="P:Rebex.Net.Smtp.IsConnected" /> returns true.
            </p>
      </remarks>
      <value>True if connected; false otherwise.</value>
    </member>
    <member name="P:Rebex.Net.Smtp.IsAuthenticated">
      <summary>
            Returns a value indicating whether the session is authenticated.
            </summary>
      <value>A value indicating whether the session is authenticated.</value>
      <remarks>
            Use this to detect whether the session has been automatically preauthenticated
            prior to calling the Login method.
            </remarks>
    </member>
    <member name="P:Rebex.Net.Smtp.DeliveryStatusNotificationConditions">
      <summary>
            Gets or sets the bit field specifying the conditions under which the SMTP server should generate
            and send a delivery status notification (DSN) messages.
            </summary>
      <value>DSN conditions.</value>
      <remarks>
            This is only used if the DSN extension is supported by the SMTP server and enabled - 
            see <see cref="P:Rebex.Net.Smtp.SupportedExtensions" /> and <see cref="P:Rebex.Net.Smtp.EnabledExtensions" />.
            </remarks>
    </member>
    <member name="P:Rebex.Net.Smtp.DeliveryStatusNotificationOriginalMessageMethod">
      <summary>
            Gets or sets the value indicating to the SMTP server whether it should attach
            the entire original message or headers only.
            </summary>
      <value>A value indicating how to include the full original message in the DSN.</value>
      <remarks>
            This is only used if the DSN extension is supported by the SMTP server and enabled - 
            see <see cref="P:Rebex.Net.Smtp.SupportedExtensions" /> and <see cref="P:Rebex.Net.Smtp.EnabledExtensions" />.
            </remarks>
    </member>
    <member name="P:Rebex.Net.Smtp.MaxMailSize">
      <summary>
            Gets the maximum mail message size announced by the server.
            </summary>
      <value>Maximum mail message size; or 0 if not announced.</value>
    </member>
    <member name="P:Rebex.Net.Smtp.ServerDomain">
      <summary>
            Gets the domain announced by the server.
            </summary>
      <value>Domain announced by the server.</value>
    </member>
    <member name="P:Rebex.Net.Smtp.ClientDomain">
      <summary>
            Gets or sets the domain announced by the client.
            </summary>
      <value>Domain announced by the client.</value>
    </member>
    <member name="P:Rebex.Net.Smtp.IsBusy">
      <summary>
            Gets a value indicating whether there any operation (method) in progress.
            </summary>
      <returns>True if there is any operation in progress; false otherwise.</returns>
    </member>
    <member name="P:Rebex.Net.Smtp.Version">
      <summary>
            Returns the version of the SMTP component.
            </summary>
      <value>The version of the SMTP component.</value>
    </member>
    <member name="M:Rebex.Net.Smtp.Send(Rebex.Mime.MimeMessage,System.String,System.Int32)">
      <summary>
            Sends the message using the specified SMTP server.
            </summary>
      <param name="message">Message to be sent.</param>
      <param name="serverName">The server address - either a hostname or a dotted string address.</param>
      <param name="serverPort">The server port (e.g. 25).</param>
    </member>
    <member name="M:Rebex.Net.Smtp.Send(Rebex.Mail.MailMessage,System.String,System.Int32)">
      <summary>
            Sends the message using the specified SMTP server.
            </summary>
      <param name="message">Message to be sent.</param>
      <param name="serverName">SMTP server hostname or IP address.</param>
      <param name="serverPort">SMTP server port.</param>
    </member>
    <member name="M:Rebex.Net.Smtp.Send(System.String,System.String,System.Int32)">
      <summary>
            Reads a mail message from the specified local file in MIME format
            and sends it using the specified SMTP server.
            </summary>
      <param name="fileName">The path to the mail message file.</param>
      <param name="serverName">SMTP server hostname or IP address.</param>
      <param name="serverPort">SMTP server port.</param>
      <remarks>
        <p>
            The file must be in MIME format, other formats are not supported.
            MIME files often have the '.eml' extension and are produced by Outlook Express.
            In contrast, Outlook produces '.msg' files that are not MIME files and therefore
            cannot be sent using this method.
            </p>
        <p>
            Both sender and the list of recipients are extracted from the message.
            The sender address is taken from the "Sender" header field, or from the first address in the "From" field if the "Sender" is missing.
            The list of recipients comes from "To", "Cc" and "Bcc" header fields.
            Also, the "Bcc" field is removed from message headers prior to sending.
            </p>
      </remarks>
    </member>
    <member name="M:Rebex.Net.Smtp.Send(System.String,System.String,System.String,System.String,System.String,System.Int32)">
      <summary>
            Sends a mail message constructed from the specified parameters using the specified SMTP server.
            </summary>
      <param name="from">Message sender.</param>
      <param name="to">Comma-separated list of message recipients.</param>
      <param name="subject">The subject of the message.</param>
      <param name="body">The text body of the message.</param>
      <param name="serverName">The server address - either a hostname or a dotted string address.</param>
      <param name="serverPort">The server port (e.g. 25).</param>
    </member>
    <member name="M:Rebex.Net.Smtp.Send(Rebex.Mime.MimeMessage,System.String)">
      <summary>
            Sends the message using the specified SMTP server.
            </summary>
      <param name="message">Message to be sent.</param>
      <param name="serverName">The server address - either a hostname or a dotted string address.</param>
    </member>
    <member name="M:Rebex.Net.Smtp.Send(Rebex.Mail.MailMessage,System.String)">
      <summary>
            Sends the message using the specified SMTP server.
            </summary>
      <param name="message">Message to be sent.</param>
      <param name="serverName">SMTP server hostname or IP address.</param>
    </member>
    <member name="M:Rebex.Net.Smtp.Send(System.String,System.String)">
      <summary>
            Reads a mail message from the specified local file in MIME format
            and sends it using the specified SMTP server.
            </summary>
      <param name="fileName">The path to the mail message file.</param>
      <param name="serverName">SMTP server hostname or IP address.</param>
      <remarks>
        <p>
            The file must be in MIME format, other formats are not supported.
            MIME files often have the '.eml' extension and are produced by Outlook Express.
            In contrast, Outlook produces '.msg' files that are not MIME files and therefore
            cannot be sent using this method.
            </p>
        <p>
            Both sender and the list of recipients are extracted from the message.
            The sender address is taken from the "Sender" header field, or from the first address in the "From" field if the "Sender" is missing.
            The list of recipients comes from "To", "Cc" and "Bcc" header fields.
            Also, the "Bcc" field is removed from message headers prior to sending.
            </p>
      </remarks>
    </member>
    <member name="M:Rebex.Net.Smtp.Send(System.String,System.String,System.String,System.String,System.String)">
      <summary>
            Sends a mail message constructed from the specified parameters using the specified SMTP server.
            </summary>
      <param name="from">Message sender.</param>
      <param name="to">Comma-separated list of message recipients.</param>
      <param name="subject">The subject of the message.</param>
      <param name="body">The text body of the message.</param>
      <param name="serverName">The server address - either a hostname or a dotted string address.</param>
    </member>
    <member name="M:Rebex.Net.Smtp.Send(Rebex.Mime.MimeMessage,Rebex.Net.SmtpConfiguration)">
      <summary>
            Sends the message using the specified SMTP server.
            </summary>
      <param name="message">Message to be sent.</param>
      <param name="configuration">The SmtpConfiguration class.</param>
    </member>
    <member name="M:Rebex.Net.Smtp.Send(Rebex.Mail.MailMessage,Rebex.Net.SmtpConfiguration)">
      <summary>
            Sends the message using the specified SMTP server.
            </summary>
      <param name="message">Message to be sent.</param>
      <param name="configuration">The SmtpConfiguration class.</param>
    </member>
    <member name="M:Rebex.Net.Smtp.Send(System.String,Rebex.Net.SmtpConfiguration)">
      <summary>
            Reads a mail message from the specified local file in MIME format
            and sends it using the specified SMTP server.
            </summary>
      <param name="fileName">The path to the mail message file.</param>
      <param name="configuration">The SmtpConfiguration class.</param>
      <remarks>
        <p>
            The file must be in MIME format, other formats are not supported.
            MIME files often have the '.eml' extension and are produced by Outlook Express.
            In contrast, Outlook produces '.msg' files that are not MIME files and therefore
            cannot be sent using this method.
            </p>
        <p>
            Both sender and the list of recipients are extracted from the message.
            The sender address is taken from the "Sender" header field, or from the first address in the "From" field if the "Sender" is missing.
            The list of recipients comes from "To", "Cc" and "Bcc" header fields.
            Also, the "Bcc" field is removed from message headers prior to sending.
            </p>
      </remarks>
    </member>
    <member name="M:Rebex.Net.Smtp.Send(System.String,System.String,System.String,System.String,Rebex.Net.SmtpConfiguration)">
      <summary>
            Sends a mail message constructed from the specified parameters using the specified SMTP server.
            </summary>
      <param name="from">Message sender.</param>
      <param name="to">Comma-separated list of message recipients.</param>
      <param name="subject">The subject of the message.</param>
      <param name="body">The text body of the message.</param>
      <param name="configuration">The SmtpConfiguration class.</param>
    </member>
    <member name="M:Rebex.Net.Smtp.SendDirect(Rebex.Mail.MailMessage)">
      <summary>
            Sends the message by submitting the message directly to the recipients' SMTP servers.
            </summary>
      <param name="message">Message to be sent.</param>
      <returns>The list of recipients to which the mail message failed to deliver.</returns>
      <remarks>
            Only supported on Windows platforms.
            </remarks>
    </member>
    <member name="M:Rebex.Net.Smtp.SendDirect(System.String,System.String,System.String,System.String)">
      <summary>
            Sends a mail message constructed from the specified parameters
            by submitting it directly to the recipients' SMTP servers.
            </summary>
      <param name="from">Message sender.</param>
      <param name="to">Comma-separated list of message recipients.</param>
      <param name="subject">The subject of the message.</param>
      <param name="body">The text body of the message.</param>
      <remarks>
            Only supported on Windows platforms.
            </remarks>
    </member>
    <member name="M:Rebex.Net.Smtp.ResolveDomainMX(System.String)">
      <summary>
            Retrieves the list of domain's MX records from DNS and returns the list
            of hosts that accept its email (in order of preference).
            </summary>
      <param name="domain">Mail domain to resolve.</param>
      <returns>The list of hosts.</returns>
      <remarks>
        <p>
            If the specified domain is an IP address, no resolving is done.
            Also, no resolving is done if no DNS server is available.
            </p>
        <p>
            This method tries to resolve domain's MX records by querying local computer's DNS servers.
            If no MX records are found, the <see cref="T:System.Net.Dns" /> object's <code>GetHostEntry</code> is used to resolve 
            the domain into an IP address list.
            </p>
        <p>
            Only supported on Windows platforms.
            </p>
      </remarks>
    </member>
    <member name="M:Rebex.Net.Smtp.ResolveDomainMX(System.String,System.Int32)">
      <summary>
            Retrieves the list of domain's MX records from DNS and returns the list
            of hosts that accept its email (in order of preference).
            </summary>
      <param name="domain">Mail domain to resolve.</param>
      <param name="timeout">Timeout for the operation (in milliseconds).</param>
      <returns>The list of hosts.</returns>
      <remarks>
        <p>
            If the specified domain is an IP address, no resolving is done.
            Also, no resolving is done if no DNS server is available.
            </p>
        <p>
            This method tries to resolve domain's MX records by querying local computer's DNS servers.
            If no MX records are found, the <see cref="T:System.Net.Dns" /> object's <code>GetHostEntry</code> is used to resolve 
            the domain into an IP address list.
            </p>
        <p>
            Only supported on Windows platforms.
            </p>
      </remarks>
    </member>
    <member name="M:Rebex.Net.Smtp.SendDirect(Rebex.Mime.MimeMessage)">
      <summary>
            Sends the message by submitting the message directly to the recipients' SMTP servers.
            </summary>
      <param name="message">Message to be sent.</param>
      <returns>The list of recipients to which the mail message failed to deliver.</returns>
      <remarks>
            Only supported on Windows platforms.
            </remarks>
    </member>
    <member name="M:Rebex.Net.Smtp.ConnectAsync(System.String,System.Object)">
      <summary>
            Begins asynchronous Connect operation.
            Connects to the SMTP server.
            </summary>
      <param name="serverName">The server address - either a hostname or a dotted string address.</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
      <returns>Welcome message returned by the server.</returns>
    </member>
    <member name="M:Rebex.Net.Smtp.ConnectAsync(System.String,System.Int32,System.Object)">
      <summary>
            Begins asynchronous Connect operation.
            Connects to the SMTP server.
            </summary>
      <param name="serverName">The server address - either a hostname or a dotted string address.</param>
      <param name="serverPort">The server port (e.g. 25).</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
      <returns>The welcome message returned by the server.</returns>
    </member>
    <member name="M:Rebex.Net.Smtp.ConnectAsync(System.String,System.Int32,Rebex.Net.SslMode,System.Object)">
      <summary>
            Begins asynchronous Connect operation.
            Connects to the SMTP server with the specified security.
            </summary>
      <param name="serverName">The server address - either a hostname or a dotted string IP address.</param>
      <param name="serverPort">The server port (e.g. 25).</param>
      <param name="security">Connection security.</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
      <returns>The welcome message returned by the server.</returns>
    </member>
    <member name="M:Rebex.Net.Smtp.ConnectAsync(System.String,Rebex.Net.SslMode,System.Object)">
      <summary>
            Begins asynchronous Connect operation.
            Connects to the SMTP server with the specified security. Uses port 25 for no SSL, 587 for explicit SSL and 465 for implicit SSL.
            </summary>
      <param name="serverName">The server address - either a hostname or a dotted string IP address.</param>
      <param name="security">Connection security.</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
      <returns>The welcome message returned by the server.</returns>
    </member>
    <member name="M:Rebex.Net.Smtp.DisconnectAsync(System.Object)">
      <summary>
            Begins asynchronous Disconnect operation.
            Informs the server that the connection is about to close and
            terminates the connection.
            </summary>
      <remarks>Represents SMTP QUIT command.</remarks>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
      <returns>The exit message returned by the server.</returns>
    </member>
    <member name="M:Rebex.Net.Smtp.SecureAsync(System.Object)">
      <summary>
            Begins asynchronous Secure operation.
            Secures the connection with TLS/SSL using default parameters.
            </summary>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
    </member>
    <member name="M:Rebex.Net.Smtp.SendAsync(Rebex.Mime.MimeMessage,System.String,System.String,System.Object)">
      <summary>
            Begins asynchronous Send operation.
            Sends a mail message (<see cref="T:Rebex.Mime.MimeMessage" />).
            </summary>
      <param name="mail">The message.</param>
      <param name="sender">Message sender address (can be null or empty).</param>
      <param name="recipients">The list of recipients (can be null).</param>
      <remarks>
            If the sender address argument is null (Nothing in Visual Basic), it is taken from the from the "Sender" header field
            or from the first address in the "From" field if the "Sender" is missing.<br />
            If the sender address argument is empty string, it means null sender - same behavior as if "&lt;&gt;" would be specified.<br />
            If the recipients argument is null (Nothing in Visual Basic), it overrides the list of recipients contained in the message. If the recipients argument is null,
            the list of recipients is extracted from "To", "Cc" and "Bcc" header fields.<br />
            The "Bcc" field is removed from message headers prior to sending.
            Set the <see cref="P:Rebex.Net.SmtpSettings.AllowNullSender" /> property to allow sending a mime message without a sender specified.
            </remarks>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
    </member>
    <member name="M:Rebex.Net.Smtp.SendAsync(Rebex.Mail.MailMessage,System.String,System.String,System.Object)">
      <summary>
            Begins asynchronous Send operation.
            Sends a mail message (<see cref="T:Rebex.Mail.MailMessage" />).
            </summary>
      <param name="mail">The message.</param>
      <param name="sender">Message sender address (can be null or empty string).</param>
      <param name="recipients">The list of recipients (can be null).</param>
      <remarks>
            If the sender address argument is null (Nothing in Visual Basic), it is taken from the from the "Sender" header field
            or from the first address in the "From" field if the "Sender" is missing.<br />
            If the sender address argument is empty string, it means null sender - same behavior as if "&lt;&gt;" would be specified.<br />
            If the recipients argument is null (Nothing in Visual Basic), it overrides the list of recipients contained in the message. If the recipients argument is null,
            the list of recipients is extracted from "To", "Cc" and "Bcc" header fields.<br />
            The "Bcc" field is removed from message headers prior to sending.
            Set the <see cref="P:Rebex.Net.SmtpSettings.AllowNullSender" /> property to allow sending a mail message without a sender specified.
            </remarks>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
    </member>
    <member name="M:Rebex.Net.Smtp.SendAsync(Rebex.Mime.MimeMessage,System.Object)">
      <summary>
            Begins asynchronous Send operation.
            Sends a mail message (<see cref="T:Rebex.Mime.MimeMessage" />).
            </summary>
      <param name="mail">The message.</param>
      <remarks>
            Both sender and the list of recipients are extracted from the message.
            The sender address is taken from the "Sender" header field or from the first address in the "From" field if the "Sender" is missing.
            The list of recipients comes from "To", "Cc" and "Bcc" header fields.
            Also, the "Bcc" field is removed from message headers prior to sending.
            Set the <see cref="P:Rebex.Net.SmtpSettings.AllowNullSender" /> property to allow sending a mime message without a sender specified.
            </remarks>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
    </member>
    <member name="M:Rebex.Net.Smtp.SendAsync(Rebex.Mail.MailMessage,System.Object)">
      <summary>
            Begins asynchronous Send operation.
            Sends a mail message (<see cref="T:Rebex.Mail.MailMessage" />).
            </summary>
      <param name="mail">The message.</param>
      <remarks>
            Both sender and the list of recipients are extracted from the message.
            The sender address is taken from the "Sender" header field or from the first address in the "From" field if the "Sender" is missing.
            The list of recipients comes from "To", "Cc" and "Bcc" header fields.
            Also, the "Bcc" field is removed from message headers prior to sending.
            Set the <see cref="P:Rebex.Net.SmtpSettings.AllowNullSender" /> property to allow sending a mail message without a sender specified.
            </remarks>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
    </member>
    <member name="M:Rebex.Net.Smtp.SendAsync(System.String,System.String,System.String,System.String,System.Object)">
      <summary>
            Begins asynchronous Send operation.
            Sends a mail message constructed from the specified parameters.
            </summary>
      <param name="from">Message sender.</param>
      <param name="to">Comma-separated list of message recipients.</param>
      <param name="subject">The subject of the message.</param>
      <param name="body">The text body of the message.</param>
      <remarks>
            Set the <see cref="P:Rebex.Net.SmtpSettings.AllowNullSender" /> property to allow sending a mail without a sender specified.
            </remarks>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
    </member>
    <member name="M:Rebex.Net.Smtp.SendAsync(System.IO.Stream,System.String,System.String,System.Object)">
      <summary>
            Begins asynchronous Send operation.
            Reads and sends a mail message from the specified stream in MIME format.
            </summary>
      <param name="input">The input stream.</param>
      <param name="sender">Message sender address (can be null or empty string).</param>
      <param name="recipients">The list of recipients (can be null).</param>
      <remarks>
        <p>
            The stream must contain data in MIME format, other formats are not supported.
            MIME files often have the '.eml' extension and are produced by Outlook Express.
            In contrast, Outlook produces '.msg' files that are not MIME files and therefore
            cannot be sent using this method.
            </p>
        <p>
            If the sender address argument is null (Nothing in Visual Basic), it is taken from the from the "Sender" header field
            or from the first address in the "From" field if the "Sender" is missing.<br />
            If the sender address argument is empty string, it means null sender - same behavior as if "&lt;&gt;" would be specified.<br />
            If the recipients argument is null (Nothing in Visual Basic), it overrides the list of recipients contained in the message. If the recipients argument is null,
            the list of recipients is extracted from "To", "Cc" and "Bcc" header fields.<br />
            The "Bcc" field is removed from message headers prior to sending.
            </p>
        <p>
            Set the <see cref="P:Rebex.Net.SmtpSettings.AllowNullSender" /> property to allow sending a mail without a sender specified.
            </p>
      </remarks>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
    </member>
    <member name="M:Rebex.Net.Smtp.SendAsync(System.IO.Stream,System.Object)">
      <summary>
            Begins asynchronous Send operation.
            Reads and sends a mail message from the specified stream in MIME format.
            </summary>
      <param name="input">The input stream.</param>
      <remarks>
        <p>
            The stream must contain data in MIME format, other formats are not supported.
            MIME files often have the '.eml' extension and are produced by Outlook Express.
            In contrast, Outlook produces '.msg' files that are not MIME files and therefore
            cannot be sent using this method.
            </p>
        <p>
            Both sender and the list of recipients are extracted from the message.
            The sender address is taken from the "Sender" header field, or from the first address in the "From" field if the "Sender" is missing.
            The list of recipients comes from "To", "Cc" and "Bcc" header fields.
            Also, the "Bcc" field is removed from message headers prior to sending.
            </p>
        <p>
            Set the <see cref="P:Rebex.Net.SmtpSettings.AllowNullSender" /> property to allow sending a mail without a sender specified.
            </p>
      </remarks>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
    </member>
    <member name="M:Rebex.Net.Smtp.SendAsync(System.String,System.Object)">
      <summary>
            Begins asynchronous Send operation.
            Reads and sends a mail message from the specified local file in MIME format.
            </summary>
      <param name="fileName">The path to the mail message file.</param>
      <remarks>
        <p>
            The file must be in MIME format, other formats are not supported.
            MIME files often have the '.eml' extension and are produced by Outlook Express.
            In contrast, Outlook produces '.msg' files that are not MIME files and therefore
            cannot be sent using this method.
            </p>
        <p>
            Both sender and the list of recipients are extracted from the message.
            The sender address is taken from the "Sender" header field, or from the first address in the "From" field if the "Sender" is missing.
            The list of recipients comes from "To", "Cc" and "Bcc" header fields.
            Also, the "Bcc" field is removed from message headers prior to sending.
            </p>
        <p>
            Set the <see cref="P:Rebex.Net.SmtpSettings.AllowNullSender" /> property to allow sending a mail without a sender specified.
            </p>
      </remarks>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
    </member>
    <member name="M:Rebex.Net.Smtp.SendAsync(System.String,System.String,System.String,System.Object)">
      <summary>
            Begins asynchronous Send operation.
            Reads and sends a mail message from the specified local file in MIME format.
            </summary>
      <param name="fileName">The path to the mail message file.</param>
      <param name="sender">Message sender address (can be null or empty string).</param>
      <param name="recipients">The list of recipients (can be null).</param>
      <remarks>
        <p>
            The stream must contain data in MIME format, other formats are not supported.
            MIME files often have the '.eml' extension and are produced by Outlook Express.
            In contrast, Outlook produces '.msg' files that are not MIME files and therefore
            cannot be sent using this method.
            </p>
        <p>
            If the sender address argument is null (Nothing in Visual Basic), it is taken from the from the "Sender" header field
            or from the first address in the "From" field if the "Sender" is missing.<br />
            If the sender address argument is empty string, it means null sender - same behavior as if "&lt;&gt;" would be specified.<br />
            If the recipients argument is null (Nothing in Visual Basic), it overrides the list of recipients contained in the message. If the recipients argument is null,
            the list of recipients is extracted from "To", "Cc" and "Bcc" header fields.<br />
            The "Bcc" field is removed from message headers prior to sending.
            </p>
        <p>
            Set the <see cref="P:Rebex.Net.SmtpSettings.AllowNullSender" /> property to allow sending a mail without a sender specified.
            </p>
      </remarks>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
    </member>
    <member name="M:Rebex.Net.Smtp.LoginAsync(Rebex.Net.SmtpAuthentication,System.Object)">
      <summary>
            Begins asynchronous Login operation.
            Authenticates the user to the SMTP server using the specified authentication method that does not require credentials (NTLM or GSSAPI).
            Only supported on Windows.
            </summary>
      <param name="method">Authentication method.</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
    </member>
    <member name="M:Rebex.Net.Smtp.LoginAsync(Rebex.Net.GssApiProvider,System.Object)">
      <summary>
            Begins asynchronous Login operation.
            Authenticates the user to the SMTP server using the specified GSSAPI provider.
            Only supported on Windows and partially on Mono.
            </summary>
      <param name="provider">GSSAPI provider.</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
    </member>
    <member name="M:Rebex.Net.Smtp.LoginAsync(System.String,System.String,Rebex.Net.SmtpAuthentication,System.Object)">
      <summary>
            Begins asynchronous Login operation.
            Authenticates the user to the SMTP server using the specified authentication method.
            </summary>
      <param name="userName">User name.</param>
      <param name="password">Password.</param>
      <param name="method">Authentication method.</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
    </member>
    <member name="M:Rebex.Net.Smtp.LoginAsync(System.String,Rebex.Net.SmtpAuthentication,System.Object)">
      <summary>
            Begins asynchronous Login operation.
            Authenticates the user to the SMTP server using an OAuth token.
            </summary>
      <param name="token">Authentication token.</param>
      <param name="method">Authentication method (only OAuth 2.0 is supported at the moment).</param>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
    </member>
    <member name="M:Rebex.Net.Smtp.LoginAsync(System.String,System.String,System.Object)">
      <summary>
            Begins asynchronous Login operation.
            Authenticates the user to the SMTP server.
            </summary>
      <param name="userName">User name.</param>
      <param name="password">Password.</param>
      <remarks>
            This method tries to authenticate using the following methods,
            in this order of preference: CRAM-MD5, DIGEST-MD5, PLAIN, LOGIN, GSSAPI, NTLM.
            The NTLM and GSSAPI methods are only attempted if no other method is available -
            please use <see cref="M:Rebex.Net.Smtp.Login(System.String,System.String,Rebex.Net.SmtpAuthentication)" /> and specify
            NTLM or GSSAPI directly if you wish to use them.
            </remarks>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
    </member>
    <member name="M:Rebex.Net.Smtp.SendCommandAsync(System.String,System.Object)">
      <summary>
            Begins asynchronous SendCommand operation.
            Executes a command on the SMTP server.
            </summary>
      <param name="command">Command (e.g. "HELP").</param>
      <remarks>
        <p>Must be followed by a call to <see cref="M:Rebex.Net.Smtp.ReadResponse">ReadResponse</see> method.</p>
        <p>Use <see cref="M:Rebex.Net.Smtp.ReadResponse">ReadResponse</see> and SendCommand to implement various custom commands.</p>
      </remarks>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
    </member>
    <member name="M:Rebex.Net.Smtp.ReadResponseAsync(System.Object)">
      <summary>
            Begins asynchronous ReadResponse operation.
            Returns the response of the SMTP server to the command.
            </summary>
      <remarks>
        <p>Use ReadResponse and <see cref="M:Rebex.Net.Smtp.SendCommand(System.String)">SendCommand</see> to implement various custom commands.</p>
        <p>
            After a successful call to ReadResponse,
            the <see cref="T:Rebex.Net.Smtp" /> object will be in <see cref="T:Rebex.Net.SmtpState">Processing</see> state if the response <see cref="P:Rebex.Net.SmtpResponse.Group">Group</see> is 3,
            in <see cref="T:Rebex.Net.SmtpState">Reading</see> state if the response <see cref="P:Rebex.Net.SmtpResponse.Group">Group</see> is 1 or
            in <see cref="T:Rebex.Net.SmtpState">Ready</see> state in other cases.
            </p>
      </remarks>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
      <returns>Response of the SMTP server.</returns>
    </member>
    <member name="M:Rebex.Net.Smtp.KeepAliveAsync(System.Object)">
      <summary>
            Begins asynchronous KeepAlive operation.
            Sends the NOOP command to the server to keep the connection alive.
            </summary>
      <remarks>
        <p>Represents SMTP NOOP command.</p>
        <p>Call this if you do not want the connection to the server to time out.</p>
        <p>Some servers ignore NOOP command.</p>
      </remarks>
      <param name="state">An optional user-provided object that identifies this particular asynchronous operation.</param>
    </member>
    <member name="T:Rebex.Net.SmtpDeliveryEngine">
      <summary>
            Mail delivery engine.
            </summary>
    </member>
    <member name="F:Rebex.Net.SmtpDeliveryEngine.Rebex">
      <summary>
            Sends mail using <see cref="T:Rebex.Net.Smtp" /> class.
            </summary>
    </member>
    <member name="T:Rebex.Net.SmtpDeliveryMethod">
      <summary>
            Mail delivery method.
            </summary>
    </member>
    <member name="F:Rebex.Net.SmtpDeliveryMethod.Smtp">
      <summary>
            SMTP protocol.
            </summary>
    </member>
    <member name="F:Rebex.Net.SmtpDeliveryMethod.PickupDirectory">
      <summary>
            Pickup directory.
            </summary>
    </member>
    <member name="T:Rebex.Net.SmtpConfigurationSource">
      <summary>
            Configuration settings source.
            </summary>
    </member>
    <member name="F:Rebex.Net.SmtpConfigurationSource.Empty">
      <summary>
            Empty settings (no source).
            </summary>
    </member>
    <member name="F:Rebex.Net.SmtpConfigurationSource.ConfigFile">
      <summary>
            Application configuration file.
            </summary>
    </member>
    <member name="T:Rebex.Net.SmtpConfiguration">
      <summary>
            Represents configuration settings for one of the <see cref="T:Rebex.Net.Smtp" /> object's static Send methods.
            </summary>
    </member>
    <member name="P:Rebex.Net.SmtpConfiguration.ServerName">
      <summary>
            Gets or sets the server address - a hostname or a dotted string address.
            </summary>
      <value>Server name.</value>
    </member>
    <member name="P:Rebex.Net.SmtpConfiguration.ServerPort">
      <summary>
            Gets or sets the server port (e.g. 25).
            </summary>
      <value>Server port.</value>
    </member>
    <member name="P:Rebex.Net.SmtpConfiguration.UserName">
      <summary>
            Gets or sets the user name used for SMTP authentication.
            </summary>
      <value>User name.</value>
    </member>
    <member name="P:Rebex.Net.SmtpConfiguration.Password">
      <summary>
            Gets or sets the password used for SMTP authentication.
            </summary>
      <value>Password.</value>
    </member>
    <member name="P:Rebex.Net.SmtpConfiguration.UseDefaultCredentials">
      <summary>
            Gets or sets the value indicating whether to use the credentials of the current user to log in.
            </summary>
      <value>True to use the credentials of the current user; false to use <see cref="P:Rebex.Net.SmtpConfiguration.UserName" /> and <see cref="P:Rebex.Net.SmtpConfiguration.Password" /> properties.</value>
      <remarks>
            Only supported on Windows platforms.
            </remarks>
    </member>
    <member name="P:Rebex.Net.SmtpConfiguration.Proxy">
      <summary>
            Gets or sets the network proxy to use to access a remote server.
            </summary>
      <value>The <see cref="P:Rebex.Net.SmtpConfiguration.Proxy" /> to use to access a remote server.</value>
      <remark>Only used with <see cref="F:Rebex.Net.SmtpDeliveryEngine.Rebex" />.</remark>
    </member>
    <member name="P:Rebex.Net.SmtpConfiguration.AuthenticationMethod">
      <summary>
            Gets or sets the authentication method.
            </summary>
      <value>Authentication method.</value>
    </member>
    <member name="P:Rebex.Net.SmtpConfiguration.DeliveryEngine">
      <summary>
            Gets or sets the delivery engine.
            </summary>
      <value>Delivery engine.</value>
    </member>
    <member name="P:Rebex.Net.SmtpConfiguration.DeliveryMethod">
      <summary>
            Gets or sets the delivery method.
            </summary>
      <value>Delivery method.</value>
    </member>
    <member name="P:Rebex.Net.SmtpConfiguration.PickupDirectoryPath">
      <summary>
            Gets or sets the pickup directory path (used with <see cref="T:Rebex.Net.SmtpDeliveryMethod" />.IisPickupDirectory).
            </summary>
      <value>Pickup directory path.</value>
    </member>
    <member name="P:Rebex.Net.SmtpConfiguration.LogWriter">
      <summary>
            Gets or sets the <see cref="P:Rebex.Net.SmtpConfiguration.LogWriter" /> instance.
            </summary>
      <value>LogWriter instance.</value>
    </member>
    <member name="P:Rebex.Net.SmtpConfiguration.Settings">
      <summary>
            Gets or sets Smtp settings.
            </summary>
      <value>Smtp settings.</value>
    </member>
    <member name="P:Rebex.Net.SmtpConfiguration.From">
      <summary>
            Gets or sets the message sender address.
            </summary>
      <value>Message sender address.</value>
    </member>
    <member name="P:Rebex.Net.SmtpConfiguration.ClientCertificate">
      <summary>
            Gets or sets the client certificate chain.		
            </summary>
      <value>Client certificate.</value>
    </member>
    <member name="P:Rebex.Net.SmtpConfiguration.Parameters">
      <summary>
            Gets or sets the security parameters.
            </summary>
      <value>Security parameters.</value>
      <remark>Only used with <see cref="F:Rebex.Net.SmtpDeliveryEngine.Rebex" />.</remark>
    </member>
    <member name="P:Rebex.Net.SmtpConfiguration.SslMode">
      <summary>
            Gets or sets the connection security mode.
            </summary>
      <value>Security parameters.</value>
    </member>
    <member name="P:Rebex.Net.SmtpConfiguration.Default">
      <summary>
            Gets the default <see cref="T:Rebex.Net.SmtpConfiguration" /> instance read from application configuration file.
            </summary>
      <remarks>The default instance of <see cref="T:Rebex.Net.SmtpConfiguration" /> is read-only.</remarks>
      <value>The <see cref="T:Rebex.Net.SmtpConfiguration" /> instance read from application configuration file.</value>
    </member>
    <member name="M:Rebex.Net.SmtpConfiguration.#ctor">
      <summary>
            Creates a new instance of <see cref="T:Rebex.Net.SmtpConfiguration" /> class.
            </summary>
    </member>
    <member name="M:Rebex.Net.SmtpConfiguration.#ctor(Rebex.Net.SmtpConfigurationSource)">
      <summary>
            Creates a new instance of <see cref="T:Rebex.Net.SmtpConfiguration" /> class and fills it with values read from the specified source.
            </summary>
      <param name="source">Configuration source.</param>
    </member>
    <member name="M:Rebex.Net.SmtpConfiguration.#ctor(Rebex.Net.SmtpConfigurationSource,Rebex.Net.SmtpDeliveryEngine)">
      <summary>
            Creates a new instance of <see cref="T:Rebex.Net.SmtpConfiguration" /> class and fills it with values read from the specified source
            and with the specified <see cref="T:Rebex.Net.SmtpDeliveryEngine" />.
            </summary>
      <param name="source">Configuration source.</param>
      <param name="engine">Delivery engine.</param>
    </member>
    <member name="T:Rebex.Net.SmtpResponseReadEventArgs">
      <summary>
            Provides data for the <see cref="E:Rebex.Net.Smtp.ResponseRead">ResponseRead</see> event.
            </summary>
    </member>
    <member name="P:Rebex.Net.SmtpResponseReadEventArgs.Response">
      <summary>
            Gets the raw SMTP response.
            </summary>
      <value>The raw SMTP response.</value>
    </member>
    <member name="M:Rebex.Net.SmtpResponseReadEventArgs.#ctor(System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.SmtpResponseReadEventArgs" /> class with the specified response string.
            </summary>
      <param name="response">The raw response line that was read.</param>
    </member>
    <member name="T:Rebex.Net.SmtpCommandSentEventArgs">
      <summary>
            Provides data for the <see cref="E:Rebex.Net.Smtp.CommandSent">CommandSent</see> event.
            </summary>
    </member>
    <member name="P:Rebex.Net.SmtpCommandSentEventArgs.Command">
      <summary>
            Gets the command string.
            </summary>
      <value>The command string.</value>
    </member>
    <member name="M:Rebex.Net.SmtpCommandSentEventArgs.#ctor(System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.SmtpCommandSentEventArgs" /> class with the specified command string.
            </summary>
      <param name="command">The command that was sent.</param>
    </member>
    <member name="T:Rebex.Net.SmtpStateChangedEventArgs">
      <summary>
            Provides data for the <see cref="E:Rebex.Net.Smtp.StateChanged">StateChanged</see> event.
            </summary>
    </member>
    <member name="P:Rebex.Net.SmtpStateChangedEventArgs.OldState">
      <summary>
            Gets the old state.
            </summary>
      <value>The state that was changed.</value>
    </member>
    <member name="P:Rebex.Net.SmtpStateChangedEventArgs.NewState">
      <summary>
            Gets the new state.
            </summary>
      <value>The new and current state.</value>
    </member>
    <member name="M:Rebex.Net.SmtpStateChangedEventArgs.#ctor(Rebex.Net.SmtpState,Rebex.Net.SmtpState)">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.SmtpStateChangedEventArgs" /> class with the specified old state and new state.
            </summary>
      <param name="oldState">The old state.</param>
      <param name="newState">The new state.</param>
    </member>
    <member name="T:Rebex.Net.SmtpTransferProgressEventArgs">
      <summary>
            Provides data for the <see cref="E:Rebex.Net.Smtp.TransferProgress">TransferProgress</see> event.
            </summary>
    </member>
    <member name="P:Rebex.Net.SmtpTransferProgressEventArgs.State">
      <summary>
            Gets the transfer state.
            </summary>
      <value>The transfer state.</value>
    </member>
    <member name="P:Rebex.Net.SmtpTransferProgressEventArgs.BytesTransferred">
      <summary>
            Gets the total number of bytes transferred during the current transfer.
            </summary>
      <value>The number of bytes transferred.</value>
      <remarks>This value is valid only when <see cref="P:Rebex.Net.SmtpTransferProgressEventArgs.State" /> is not <see cref="P:Rebex.Net.SmtpTransferProgressEventArgs.State">None</see>.</remarks>
    </member>
    <member name="P:Rebex.Net.SmtpTransferProgressEventArgs.BytesSinceLastEvent">
      <summary>
            Gets the number of bytes transferred during the current transfer since the last time the event was raised.
            </summary>
      <value>The number of bytes transferred since the last time the event was raised.</value>
      <remarks>This value is valid only when <see cref="P:Rebex.Net.SmtpTransferProgressEventArgs.State" /> is not <see cref="P:Rebex.Net.SmtpTransferProgressEventArgs.State">None</see>.</remarks>
    </member>
    <member name="P:Rebex.Net.SmtpTransferProgressEventArgs.TotalBytes">
      <summary>
            Gets the approximate number of bytes to be transferred during the current transfer (if available).
            </summary>
      <value>Approximate number of bytes to be transferred.</value>
      <remarks>The value is approximate because byte stuffing (inserting additional '.' characters) can occur during transfer.</remarks>
    </member>
    <member name="M:Rebex.Net.SmtpTransferProgressEventArgs.GetData">
      <summary>
            Gets the actual content of the transferred block. Only available when Smtp.<see cref="P:Rebex.Net.SmtpSettings.ReportTransferredData" /> is set to <code>true</code>.
            </summary>
      <returns>Transferred data.</returns>
    </member>
    <member name="M:Rebex.Net.SmtpTransferProgressEventArgs.#ctor(Rebex.Net.SmtpTransferState,System.Int64,System.Int32)">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.SmtpTransferProgressEventArgs" /> class with the specified state,
            number of bytes transferred during the current transfer and progress since the last time the event was raised.
            </summary>
      <param name="state">Current state.</param>
      <param name="bytesTransferred">Number of bytes transferred so far. Ignored if <b>state</b> is <see cref="T:Rebex.Net.SmtpTransferState">SmtpTransferState.None</see>.</param>
      <param name="bytesSinceLastEvent">Number of bytes transferred since the last time the event was raised. Ignored if <b>state</b> is <see cref="T:Rebex.Net.SmtpTransferState">SmtpTransferState.None</see>.</param>
    </member>
    <member name="M:Rebex.Net.SmtpTransferProgressEventArgs.#ctor(Rebex.Net.SmtpTransferState,System.Int64,System.Int32,System.Int64)">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.SmtpTransferProgressEventArgs" /> class with the specified state,
            number of bytes transferred during the current transfer and progress since the last time the event was raised.
            </summary>
      <param name="state">Current state.</param>
      <param name="bytesTransferred">Number of bytes transferred so far. Ignored if <b>state</b> is <see cref="T:Rebex.Net.SmtpTransferState">SmtpTransferState.None</see>.</param>
      <param name="bytesSinceLastEvent">Number of bytes transferred since the last time the event was raised. Ignored if <b>state</b> is <see cref="T:Rebex.Net.SmtpTransferState">SmtpTransferState.None</see>.</param>
      <param name="totalBytes">Approximate total number of bytes to be transferred. Ignored if <b>state</b> is <see cref="T:Rebex.Net.SmtpTransferState">SmtpTransferState.None</see>.</param>
    </member>
    <member name="T:Rebex.Net.SmtpRejectedRecipientEventArgs">
      <summary>
            Provides data for the <see cref="E:Rebex.Net.Smtp.RejectedRecipient">RejectedRecipient</see> event.
            </summary>
    </member>
    <member name="P:Rebex.Net.SmtpRejectedRecipientEventArgs.Recipient">
      <summary>
            Gets the address of rejected recipient.
            </summary>
      <value>Address of rejected recipient.</value>
    </member>
    <member name="P:Rebex.Net.SmtpRejectedRecipientEventArgs.Response">
      <summary>
            Gets the SMTP server response.
            </summary>
      <value>SMTP response.</value>
    </member>
    <member name="P:Rebex.Net.SmtpRejectedRecipientEventArgs.Ignore">
      <summary>
            Gets or sets a value indicating whether to ignore the rejection
            of the recipient and continue the sending operation.
            </summary>
      <value>A value indicating whether to ignore the recipient rejection.</value>
    </member>
    <member name="M:Rebex.Net.SmtpRejectedRecipientEventArgs.#ctor(System.String,Rebex.Net.SmtpResponse,System.Boolean)">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.SmtpRejectedRecipientEventArgs" /> class with the specified
            recipient, response and an initial value of ignore state.
            </summary>
      <param name="recipient">Rejected recipient.</param>
      <param name="response">SMTP response.</param>
      <param name="ignore">Initial value of the property indicating whether to ignore recipient rejection.</param>
    </member>
    <member name="T:Rebex.Net.SmtpSendingMessageEventArgs">
      <summary>
            Provides data for the <see cref="E:Rebex.Net.Smtp.SendingMessage">SendingMessage</see> event.
            </summary>
    </member>
    <member name="P:Rebex.Net.SmtpSendingMessageEventArgs.Stream">
      <summary>
            Gets the stream being sent (if seekable).
            </summary>
      <value>The stream being sent.</value>
    </member>
    <member name="P:Rebex.Net.SmtpSendingMessageEventArgs.Message">
      <summary>
            Gets the message as being sent.
            </summary>
      <value>The message as being sent.</value>
    </member>
    <member name="T:Rebex.Net.SmtpExceptionStatus">
      <summary>
            Defines status codes for the <see cref="T:Rebex.Net.SmtpException" /> class.
            </summary>
    </member>
    <member name="F:Rebex.Net.SmtpExceptionStatus.ConnectFailure">
      <summary>
            The remote service point could not be contacted at the transport level.
            </summary>
    </member>
    <member name="F:Rebex.Net.SmtpExceptionStatus.ConnectionClosed">
      <summary>
            The connection was prematurely closed.
            </summary>
    </member>
    <member name="F:Rebex.Net.SmtpExceptionStatus.SocketError">
      <summary>
            The error at transport level occurred.
            </summary>
    </member>
    <member name="F:Rebex.Net.SmtpExceptionStatus.NameResolutionFailure">
      <summary>
            The name resolver service could not resolve the host name.
            </summary>
    </member>
    <member name="F:Rebex.Net.SmtpExceptionStatus.Pending">
      <summary>
            An operation is pending.
            </summary>
    </member>
    <member name="F:Rebex.Net.SmtpExceptionStatus.ProtocolError">
      <summary>
            The response received from the server was complete but indicated a protocol-level error. For example, an SMTP protocol error such as '550 Unable to relay' would use this status.
            </summary>
    </member>
    <member name="F:Rebex.Net.SmtpExceptionStatus.ProxyNameResolutionFailure">
      <summary>
            The name resolver service could not resolve the proxy host name.
            </summary>
    </member>
    <member name="F:Rebex.Net.SmtpExceptionStatus.ReceiveFailure">
      <summary>
            A complete response was not received from the remote server due to an error at the transport level.
            </summary>
    </member>
    <member name="F:Rebex.Net.SmtpExceptionStatus.OperationAborted">
      <summary>
            The operation was aborted by a call to the <see cref="M:Rebex.Net.Smtp.Abort" /> method.
            </summary>
    </member>
    <member name="F:Rebex.Net.SmtpExceptionStatus.UnclassifiableError">
      <summary>
            An unclassifiable error occurred. This is the default value for <see cref="P:Rebex.Net.SmtpException.Status" />.
            </summary>
    </member>
    <member name="F:Rebex.Net.SmtpExceptionStatus.SendFailure">
      <summary>
            A complete request could not be sent to the remote server due to an error at the transport level.
            </summary>
    </member>
    <member name="F:Rebex.Net.SmtpExceptionStatus.ServerProtocolViolation">
      <summary>
            The server response was not a valid SMTP response.
            </summary>
    </member>
    <member name="F:Rebex.Net.SmtpExceptionStatus.Timeout">
      <summary>
            No response was received during the time-out period for a request.
            </summary>
    </member>
    <member name="F:Rebex.Net.SmtpExceptionStatus.AsyncError">
      <summary>
            General exception in asynchronous call.
            </summary>
    </member>
    <member name="F:Rebex.Net.SmtpExceptionStatus.OperationFailure">
      <summary>
            The requested operation could not be completed.
            </summary>
    </member>
    <member name="T:Rebex.Net.SmtpException">
      <summary>
            The exception that is thrown when an error occurs while using Smtp component.
            </summary>
    </member>
    <member name="P:Rebex.Net.SmtpException.Status">
      <summary>
            Gets the status of the response.
            </summary>
      <value>One of the <see cref="T:Rebex.Net.SmtpExceptionStatus" /> values.</value>
    </member>
    <member name="P:Rebex.Net.SmtpException.Response">
      <summary>
            Gets the <see cref="T:Rebex.Net.SmtpResponse" /> of the exception.
            </summary>
      <value>The <see cref="T:Rebex.Net.SmtpResponse" /> if <see cref="P:Rebex.Net.SmtpException.Status" /> is <see cref="T:Rebex.Net.SmtpExceptionStatus">ProtocolError</see>; <b>null</b> reference otherwise.</value>
    </member>
    <member name="M:Rebex.Net.SmtpException.GetRejectedRecipients">
      <summary>
            Gets the list of rejected recipients.
            </summary>
      <value>The list of rejected recipients, or null if not applicable.</value>
    </member>
    <member name="M:Rebex.Net.SmtpException.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.SmtpException" /> class.
            </summary>
      <remarks>This constructor initializes the <see cref="P:System.Exception.Message">Message</see> property of the new instance to a message that describes the general error.</remarks>
    </member>
    <member name="M:Rebex.Net.SmtpException.#ctor(System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.SmtpException" /> class with the specified error message.
            </summary>
      <param name="message">The message that describes the error.</param>
    </member>
    <member name="M:Rebex.Net.SmtpException.#ctor(System.String,Rebex.Net.SmtpExceptionStatus)">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.SmtpException" /> class with the specified error message and status.
            </summary>
      <param name="message">The message that describes the error.</param>
      <param name="status">One of the <see cref="T:Rebex.Net.SmtpExceptionStatus" /> values.</param>
      <remarks>The status must not be <see cref="T:Rebex.Net.SmtpExceptionStatus">ProtocolError</see>. Use <see cref="M:Rebex.Net.SmtpException.#ctor(Rebex.Net.SmtpResponse)">SmtpException (SmtpResponse response)</see> constructor for creating protocol error exceptions.</remarks>
    </member>
    <member name="M:Rebex.Net.SmtpException.#ctor(System.String,Rebex.Net.SmtpExceptionStatus,Rebex.Net.SmtpRejectedRecipient[])">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.SmtpException" /> class with the specified error message, status, and a list of rejected recipients.
            </summary>
      <param name="message">The message that describes the error.</param>
      <param name="status">One of the <see cref="T:Rebex.Net.SmtpExceptionStatus" /> values.</param>
      <param name="rejected">A list of rejected recipients.</param>
      <remarks>The status must not be <see cref="T:Rebex.Net.SmtpExceptionStatus">ProtocolError</see>. Use <see cref="M:Rebex.Net.SmtpException.#ctor(Rebex.Net.SmtpResponse)">SmtpException (SmtpResponse response)</see> constructor for creating protocol error exceptions.</remarks>
    </member>
    <member name="M:Rebex.Net.SmtpException.#ctor(System.String,System.Exception)">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.SmtpException" /> class with the specified error message
            and a reference to the inner exception that is the cause of this exception.
            </summary>
      <param name="message">The message that describes the error.</param>
      <param name="innerException">The exception that is the cause of the current exception. If the <i>innerException</i> parameter is not a null reference, the current exception is raised in a <b>catch</b> block that handles the inner exception.</param>
    </member>
    <member name="M:Rebex.Net.SmtpException.#ctor(System.String,System.Exception,Rebex.Net.SmtpExceptionStatus)">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.SmtpException" /> class with the specified error message, status,
            and a reference to the inner exception that is the cause of this exception.
            </summary>
      <param name="message">The message that describes the error.</param>
      <param name="innerException">The exception that is the cause of the current exception. If the <i>innerException</i> parameter is not a null reference, the current exception is raised in a <b>catch</b> block that handles the inner exception.</param>
      <param name="status">One of the <see cref="T:Rebex.Net.SmtpExceptionStatus" /> values.</param>
      <remarks>The status must not be <see cref="T:Rebex.Net.SmtpExceptionStatus">ProtocolError</see>. Use <see cref="M:Rebex.Net.SmtpException.#ctor(Rebex.Net.SmtpResponse)">SmtpException (SmtpResponse response)</see> constructor for creating protocol error exceptions.</remarks>
    </member>
    <member name="M:Rebex.Net.SmtpException.#ctor(Rebex.Net.SmtpResponse)">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.SmtpException" /> class with the specified <see cref="T:Rebex.Net.SmtpResponse" />.
            </summary>
      <param name="response">The <see cref="T:Rebex.Net.SmtpResponse" />.</param>
    </member>
    <member name="T:Rebex.Net.SmtpState">
      <summary>
            State of the <see cref="T:Rebex.Net.Smtp" /> object.
            </summary>
    </member>
    <member name="F:Rebex.Net.SmtpState.Disconnected">
      <summary>Client is not connected.</summary>
    </member>
    <member name="F:Rebex.Net.SmtpState.Connecting">
      <summary>Connecting to server.</summary>
    </member>
    <member name="F:Rebex.Net.SmtpState.Ready">
      <summary>Server is ready and awaiting commands.</summary>
    </member>
    <member name="F:Rebex.Net.SmtpState.Sending">
      <summary>Sending command or message data to the server.</summary>
    </member>
    <member name="F:Rebex.Net.SmtpState.Reading">
      <summary>Waiting for response or receiving response.</summary>
    </member>
    <member name="F:Rebex.Net.SmtpState.Processing">
      <summary>Received response is being processed.</summary>
    </member>
    <member name="F:Rebex.Net.SmtpState.Pipelining">
      <summary>Pipelining.</summary>
    </member>
    <member name="F:Rebex.Net.SmtpState.Disposed">
      <summary>Object is disposed and must not be used.</summary>
    </member>
    <member name="T:Rebex.Net.SmtpTransferState">
      <summary>
            State of the SMTP transfer.
            </summary>
    </member>
    <member name="F:Rebex.Net.SmtpTransferState.None">
      <summary>No transfer pending.</summary>
    </member>
    <member name="F:Rebex.Net.SmtpTransferState.Sending">
      <summary>Sending mail message.</summary>
    </member>
    <member name="T:Rebex.Net.SmtpAuthentication">
      <summary>
            SMTP client authentication method.
            </summary>
    </member>
    <member name="F:Rebex.Net.SmtpAuthentication.Auto">
      <summary>
            Choose automatically.
            </summary>
    </member>
    <member name="F:Rebex.Net.SmtpAuthentication.Plain">
      <summary>
            RFC 2595 TLS plaintext authentication.
            </summary>
    </member>
    <member name="F:Rebex.Net.SmtpAuthentication.DigestMD5">
      <summary>
            RFC 2831 DIGEST-MD5 authentication.
            </summary>
    </member>
    <member name="F:Rebex.Net.SmtpAuthentication.CramMD5">
      <summary>
            RFC 2195 CRAM-MD5 authentication.
            </summary>
    </member>
    <member name="F:Rebex.Net.SmtpAuthentication.Login">
      <summary>
            Login authentication.
            </summary>
    </member>
    <member name="F:Rebex.Net.SmtpAuthentication.Ntlm">
      <summary>
            NTLM authentication.
            Only supported on Windows and on Mono.
            </summary>
    </member>
    <member name="F:Rebex.Net.SmtpAuthentication.GssApi">
      <summary>
            GSSAPI/SSPI authentication.
            Kerberos and Negotiate (SPNEGO) are only supported on Windows.
            NTLM is supported on Windows and Mono.
            </summary>
    </member>
    <member name="F:Rebex.Net.SmtpAuthentication.OAuth20">
      <summary>
            OAuth 2.0 authentication defined by https://developers.google.com/google-apps/gmail/xoauth2_protocol#smtp_protocol_exchange
            </summary>
    </member>
    <member name="T:Rebex.Net.SmtpExtensions">
      <summary>
            SMTP extensions.
            </summary>
    </member>
    <member name="F:Rebex.Net.SmtpExtensions.Pipelining">
      <summary>
            Pipelining. Sending SMTP commands in groups.
            </summary>
    </member>
    <member name="F:Rebex.Net.SmtpExtensions.Chunking">
      <summary>
            Chunking. Enhanced method of sending message data.
            </summary>
    </member>
    <member name="F:Rebex.Net.SmtpExtensions.BinaryMime">
      <summary>
            Binary MIME.
            </summary>
    </member>
    <member name="F:Rebex.Net.SmtpExtensions.EightBitMime">
      <summary>
            8bit MIME.
            </summary>
    </member>
    <member name="F:Rebex.Net.SmtpExtensions.EnhancedTurn">
      <summary>
            Enhanced turn (ETRN) command support.
            </summary>
    </member>
    <member name="F:Rebex.Net.SmtpExtensions.EnhancedStatusCodes">
      <summary>
            Enhanced status codes.
            </summary>
    </member>
    <member name="F:Rebex.Net.SmtpExtensions.DeliveryStatusNotifications">
      <summary>
            Delivery status notifications.
            </summary>
    </member>
    <member name="F:Rebex.Net.SmtpExtensions.MessageSizeDeclaration">
      <summary>
            Message size declaration.
            </summary>
    </member>
    <member name="F:Rebex.Net.SmtpExtensions.ExplicitSecurity">
      <summary>
            Explicit TLS/SSL support (STARTTLS).
            </summary>
    </member>
    <member name="F:Rebex.Net.SmtpExtensions.All">
      <summary>
            All extensions.
            </summary>
    </member>
    <member name="T:Rebex.Net.DeliveryStatusNotificationConditions">
      <summary>
            Specifies the conditions under which the SMTP server should generate and send DSN messages.
            </summary>
    </member>
    <member name="F:Rebex.Net.DeliveryStatusNotificationConditions.None">
      <summary>
            Never generate DSN.
            </summary>
    </member>
    <member name="F:Rebex.Net.DeliveryStatusNotificationConditions.Success">
      <summary>
            Generate DSN on successful delivery.
            </summary>
    </member>
    <member name="F:Rebex.Net.DeliveryStatusNotificationConditions.Failure">
      <summary>
            Generate DSN on delivery failure.
            </summary>
    </member>
    <member name="F:Rebex.Net.DeliveryStatusNotificationConditions.Delay">
      <summary>
            Generate DSN if delivery of a message has been delayed for an unusual amount of time.
            </summary>
    </member>
    <member name="F:Rebex.Net.DeliveryStatusNotificationConditions.All">
      <summary>
            All conditions.
            </summary>
    </member>
    <member name="T:Rebex.Net.DeliveryStatusNotificationOriginalMessageMethod">
      <summary>
            Specifies whether a SMTP server should attach the entire original message or its headers only
            to DSN messages.
            </summary>
    </member>
    <member name="F:Rebex.Net.DeliveryStatusNotificationOriginalMessageMethod.Default">
      <summary>
            Let the SMTP use its default behavior of including the original message in a DSN message.
            </summary>
    </member>
    <member name="F:Rebex.Net.DeliveryStatusNotificationOriginalMessageMethod.FullMessage">
      <summary>
            Include the full original message in a DSN message.
            </summary>
    </member>
    <member name="F:Rebex.Net.DeliveryStatusNotificationOriginalMessageMethod.HeadersOnly">
      <summary>
            Only include original message headers in a DSN message.
            </summary>
    </member>
    <member name="T:Rebex.Net.SmtpResponse">
      <summary>
            Contains the response of the SMTP server.
            </summary>
    </member>
    <member name="P:Rebex.Net.SmtpResponse.Raw">
      <summary>
            Gets the full unparsed response of the SMTP server.
            </summary>
      <value>The full unparsed response of the SMTP server.</value>
    </member>
    <member name="P:Rebex.Net.SmtpResponse.Description">
      <summary>
            Gets the description of the SMTP response.
            </summary>
      <value>The description of the SMTP response.</value>
    </member>
    <member name="P:Rebex.Net.SmtpResponse.Code">
      <summary>
            Gets the SMTP response code.
            </summary>
      <value>SMTP response code.</value>
    </member>
    <member name="P:Rebex.Net.SmtpResponse.Group">
      <summary>
            Gets the group of the SMTP response code.
            </summary>
      <value>The group of the SMTP response code.</value>
    </member>
    <member name="P:Rebex.Net.SmtpResponse.Success">
      <summary>
            Returns true when last command was completed successfully.
            </summary>
    </member>
    <member name="P:Rebex.Net.SmtpResponse.Class">
      <summary>
            Gets the class of enhanced SMTP status code, or -1 if not supported.
            </summary>
      <value>The class of enhanced SMTP status code.</value>
    </member>
    <member name="P:Rebex.Net.SmtpResponse.Subject">
      <summary>
            Gets the subject code of enhanced SMTP status code, or -1 if not supported.
            </summary>
      <value>The subject of enhanced SMTP status code.</value>
    </member>
    <member name="P:Rebex.Net.SmtpResponse.Detail">
      <summary>
            Gets the detail code of enhanced SMTP status code, or -1 if not supported.
            </summary>
      <value>The detail of enhanced SMTP status code.</value>
    </member>
    <member name="M:Rebex.Net.SmtpResponse.#ctor(System.Int32,System.String,System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.SmtpResponse" /> class with the specified code, description and raw response string.
            </summary>
      <param name="code">The SMTP response code. Must be in range of 100 to 599.</param>
      <param name="description">The description of the response code.</param>
      <param name="raw">Raw SMTP response.</param>
    </member>
    <member name="M:Rebex.Net.SmtpResponse.#ctor(System.Int32,System.Int32,System.Int32,System.String,System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.SmtpResponse" /> class with the specified code, enhanced code, description and raw response string.
            </summary>
      <param name="code">The SMTP response code. Must be in range of 100 to 599.</param>
      <param name="subject">The SMTP enhanced response code subject. Must be in range of 1 to 999.</param>
      <param name="detail">The SMTP enhanced response code detail. Must be in range of 1 to 999.</param>
      <param name="description">The description of the response code.</param>
      <param name="raw">Raw SMTP response.</param>
    </member>
    <member name="T:Rebex.Net.SmtpRejectedRecipient">
      <summary>
            Represents a recipient rejected by the SMTP server.
            </summary>
    </member>
    <member name="P:Rebex.Net.SmtpRejectedRecipient.Address">
      <summary>
            Gets the address of the rejected recipient.
            </summary>
      <value>Address of the rejected recipient.</value>
    </member>
    <member name="P:Rebex.Net.SmtpRejectedRecipient.Response">
      <summary>
            Gets the response that rejected the recipient.
            </summary>
      <value>Response that rejected the recipient.</value>
    </member>
    <member name="P:Rebex.Net.SmtpRejectedRecipient.Error">
      <summary>
            Gets the exception thrown while attempting to deliver the message, if there was any.
            </summary>
      <value>Delivery error.</value>
    </member>
    <member name="M:Rebex.Net.SmtpRejectedRecipient.#ctor(System.String,Rebex.Net.SmtpResponse)">
      <summary>
            Creates a new instance of <see cref="T:Rebex.Net.SmtpRejectedRecipient" /> using a specified
            address and response.
            </summary>
      <param name="address">Address of the recipient.</param>
      <param name="response">Response that rejected the recipient.</param>
    </member>
    <member name="T:Rebex.Net.SmtpConnectionState">
      <summary>
            Represents the Smtp object connection state.
            </summary>
    </member>
    <member name="P:Rebex.Net.SmtpConnectionState.Connected">
      <summary>
            Returns a value indicating whether the object is connected.
            </summary>
      <value>True if connected; otherwise false.</value>
    </member>
    <member name="P:Rebex.Net.SmtpConnectionState.NativeErrorCode">
      <summary>
            Gets the Win32 socket error code.
            </summary>
      <value>Win32 error code.</value>
      <remarks>Returns 0 if no socket error code is available.</remarks>
    </member>
    <member name="T:Rebex.Net.SmtpSettings">
      <summary>
            Specifies various Smtp settings.
            </summary>
    </member>
    <member name="M:Rebex.Net.SmtpSettings.#ctor">
      <summary>
            Creates an instance of <see cref="T:Rebex.Net.SmtpSettings" />.
            </summary>
    </member>
    <member name="M:Rebex.Net.SmtpSettings.Clone">
      <summary>
            Creates a new object that is a copy of the current instance.
            </summary>
      <returns>A new object that is a copy of the current instance.</returns>
    </member>
    <member name="P:Rebex.Net.SmtpSettings.AllowNullSender">
      <summary>
            Allow null sender (&lt;&gt;) to be used.
            </summary>
    </member>
    <member name="P:Rebex.Net.SmtpSettings.SendWithNoBuffer">
      <summary>
            Causes the <see cref="M:Rebex.Net.Smtp.Send(System.String)" /> and <see cref="M:Rebex.Net.Smtp.Send(System.IO.Stream)" /> methods to send message data directly from the input file or stream.
            Only the headers are processed due to the need to remove 'Bcc' fields.
            </summary>
    </member>
    <member name="P:Rebex.Net.SmtpSettings.RaiseEventsFromCurrentThread">
      <summary>
            Specifies whether to raise asynchronous events from the current working thread or 
            whether to raise them using a <see cref="T:System.Threading.SynchronizationContext" /> available when an asynchronous operation was started.
            </summary>
      <value>False (default) to raise events using <see cref="T:System.Threading.SynchronizationContext" />; true to raise them directly form the current working thread.</value>
      <remarks>Events of synchronous methods are always raised from the current working thread.</remarks>
    </member>
    <member name="P:Rebex.Net.SmtpSettings.ReportTransferredData">
      <summary>
            Specifies whether to report the actual content of transferred blocks of data through <see cref="E:Rebex.Net.Smtp.TransferProgress" /> event.
            </summary>
    </member>
    <member name="P:Rebex.Net.SmtpSettings.SkipContentTransferEncodingCheck">
      <summary>
            Skips content transfer encoding check when sending messages. Really not recommended!
            </summary>
    </member>
    <member name="T:Rebex.Legacy.SmtpExtensions">
      <summary>
            Extension class for Smtp.
            </summary>
    </member>
    <member name="M:Rebex.Legacy.SmtpExtensions.BeginConnect(Rebex.Net.Smtp,System.String,System.AsyncCallback,System.Object)">
      <summary>
            Begins asynchronous Connect operation.
            Connects to the SMTP server.
            </summary>
      <param name="serverName">The server address - either a hostname or a dotted string address.</param>
      <remarks>
        <p>In builds for .NET 4.0 and higher, this method is available as an extension method. Add 'using Rebex.Legacy' (C#) or 'Import Rebex.Legacy' (VB.NET) to your code in order to use it.</p>
      </remarks>
      <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
      <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
      <param name="instance">Instance of Smtp.</param>
      <returns>
            An <see cref="T:System.IAsyncResult" /> that references the asynchronous operation.
            </returns>
    </member>
    <member name="M:Rebex.Legacy.SmtpExtensions.BeginConnect(Rebex.Net.Smtp,System.String,System.Int32,System.AsyncCallback,System.Object)">
      <summary>
            Begins asynchronous Connect operation.
            Connects to the SMTP server.
            </summary>
      <param name="serverName">The server address - either a hostname or a dotted string address.</param>
      <param name="serverPort">The server port (e.g. 25).</param>
      <remarks>
        <p>In builds for .NET 4.0 and higher, this method is available as an extension method. Add 'using Rebex.Legacy' (C#) or 'Import Rebex.Legacy' (VB.NET) to your code in order to use it.</p>
      </remarks>
      <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
      <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
      <param name="instance">Instance of Smtp.</param>
      <returns>
            An <see cref="T:System.IAsyncResult" /> that references the asynchronous operation.
            </returns>
    </member>
    <member name="M:Rebex.Legacy.SmtpExtensions.BeginConnect(Rebex.Net.Smtp,System.String,System.Int32,Rebex.Net.SslMode,System.AsyncCallback,System.Object)">
      <summary>
            Begins asynchronous Connect operation.
            Connects to the SMTP server with the specified security.
            </summary>
      <param name="serverName">The server address - either a hostname or a dotted string IP address.</param>
      <param name="serverPort">The server port (e.g. 25).</param>
      <param name="security">Connection security.</param>
      <remarks>
        <p>In builds for .NET 4.0 and higher, this method is available as an extension method. Add 'using Rebex.Legacy' (C#) or 'Import Rebex.Legacy' (VB.NET) to your code in order to use it.</p>
      </remarks>
      <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
      <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
      <param name="instance">Instance of Smtp.</param>
      <returns>
            An <see cref="T:System.IAsyncResult" /> that references the asynchronous operation.
            </returns>
    </member>
    <member name="M:Rebex.Legacy.SmtpExtensions.BeginConnect(Rebex.Net.Smtp,System.String,Rebex.Net.SslMode,System.AsyncCallback,System.Object)">
      <summary>
            Begins asynchronous Connect operation.
            Connects to the SMTP server with the specified security. Uses port 25 for no SSL, 587 for explicit SSL and 465 for implicit SSL.
            </summary>
      <param name="serverName">The server address - either a hostname or a dotted string IP address.</param>
      <param name="security">Connection security.</param>
      <remarks>
        <p>In builds for .NET 4.0 and higher, this method is available as an extension method. Add 'using Rebex.Legacy' (C#) or 'Import Rebex.Legacy' (VB.NET) to your code in order to use it.</p>
      </remarks>
      <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
      <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
      <param name="instance">Instance of Smtp.</param>
      <returns>
            An <see cref="T:System.IAsyncResult" /> that references the asynchronous operation.
            </returns>
    </member>
    <member name="M:Rebex.Legacy.SmtpExtensions.EndConnect(Rebex.Net.Smtp,System.IAsyncResult)">
      <summary>
            Ends an asynchronous BeginConnect operation.
            </summary>
      <param name="asyncResult">Stores state information for this asynchronous operation as well as any user defined data.</param>
      <param name="instance">Instance of Smtp.</param>
      <returns>The welcome message returned by the server.</returns>
    </member>
    <member name="M:Rebex.Legacy.SmtpExtensions.BeginDisconnect(Rebex.Net.Smtp,System.AsyncCallback,System.Object)">
      <summary>
            Begins asynchronous Disconnect operation.
            Informs the server that the connection is about to close and
            terminates the connection.
            </summary>
      <remarks>
        <p>Represents SMTP QUIT command.</p>
        <p>In builds for .NET 4.0 and higher, this method is available as an extension method. Add 'using Rebex.Legacy' (C#) or 'Import Rebex.Legacy' (VB.NET) to your code in order to use it.</p>
      </remarks>
      <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
      <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
      <param name="instance">Instance of Smtp.</param>
      <returns>
            An <see cref="T:System.IAsyncResult" /> that references the asynchronous operation.
            </returns>
    </member>
    <member name="M:Rebex.Legacy.SmtpExtensions.EndDisconnect(Rebex.Net.Smtp,System.IAsyncResult)">
      <summary>
            Ends an asynchronous BeginDisconnect operation.
            </summary>
      <param name="asyncResult">Stores state information for this asynchronous operation as well as any user defined data.</param>
      <param name="instance">Instance of Smtp.</param>
      <returns>The exit message returned by the server.</returns>
    </member>
    <member name="M:Rebex.Legacy.SmtpExtensions.BeginSecure(Rebex.Net.Smtp,System.AsyncCallback,System.Object)">
      <summary>
            Begins asynchronous Secure operation.
            Secures the connection with TLS/SSL using default parameters.
            </summary>
      <remarks>
        <p>In builds for .NET 4.0 and higher, this method is available as an extension method. Add 'using Rebex.Legacy' (C#) or 'Import Rebex.Legacy' (VB.NET) to your code in order to use it.</p>
      </remarks>
      <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
      <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
      <param name="instance">Instance of Smtp.</param>
      <returns>
            An <see cref="T:System.IAsyncResult" /> that references the asynchronous operation.
            </returns>
    </member>
    <member name="M:Rebex.Legacy.SmtpExtensions.EndSecure(Rebex.Net.Smtp,System.IAsyncResult)">
      <summary>
            Ends an asynchronous BeginSecure operation.
            </summary>
      <param name="asyncResult">Stores state information for this asynchronous operation as well as any user defined data.</param>
      <param name="instance">Instance of Smtp.</param>
    </member>
    <member name="M:Rebex.Legacy.SmtpExtensions.BeginSend(Rebex.Net.Smtp,Rebex.Mime.MimeMessage,System.String,System.String,System.AsyncCallback,System.Object)">
      <summary>
            Begins asynchronous Send operation.
            Sends a mail message (<see cref="T:Rebex.Mime.MimeMessage" />).
            </summary>
      <param name="mail">The message.</param>
      <param name="sender">Message sender address (can be null or empty).</param>
      <param name="recipients">The list of recipients (can be null).</param>
      <remarks>
        <p>If the sender address argument is null (Nothing in Visual Basic), it is taken from the from the "Sender" header field
            or from the first address in the "From" field if the "Sender" is missing.<br />
            If the sender address argument is empty string, it means null sender - same behavior as if "&lt;&gt;" would be specified.<br />
            If the recipients argument is null (Nothing in Visual Basic), it overrides the list of recipients contained in the message. If the recipients argument is null,
            the list of recipients is extracted from "To", "Cc" and "Bcc" header fields.<br />
            The "Bcc" field is removed from message headers prior to sending.
            Set the <see cref="P:Rebex.Net.SmtpSettings.AllowNullSender" /> property to allow sending a mime message without a sender specified.</p>
        <p>In builds for .NET 4.0 and higher, this method is available as an extension method. Add 'using Rebex.Legacy' (C#) or 'Import Rebex.Legacy' (VB.NET) to your code in order to use it.</p>
      </remarks>
      <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
      <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
      <param name="instance">Instance of Smtp.</param>
      <returns>
            An <see cref="T:System.IAsyncResult" /> that references the asynchronous operation.
            </returns>
    </member>
    <member name="M:Rebex.Legacy.SmtpExtensions.BeginSend(Rebex.Net.Smtp,Rebex.Mail.MailMessage,System.String,System.String,System.AsyncCallback,System.Object)">
      <summary>
            Begins asynchronous Send operation.
            Sends a mail message (<see cref="T:Rebex.Mail.MailMessage" />).
            </summary>
      <param name="mail">The message.</param>
      <param name="sender">Message sender address (can be null or empty string).</param>
      <param name="recipients">The list of recipients (can be null).</param>
      <remarks>
        <p>If the sender address argument is null (Nothing in Visual Basic), it is taken from the from the "Sender" header field
            or from the first address in the "From" field if the "Sender" is missing.<br />
            If the sender address argument is empty string, it means null sender - same behavior as if "&lt;&gt;" would be specified.<br />
            If the recipients argument is null (Nothing in Visual Basic), it overrides the list of recipients contained in the message. If the recipients argument is null,
            the list of recipients is extracted from "To", "Cc" and "Bcc" header fields.<br />
            The "Bcc" field is removed from message headers prior to sending.
            Set the <see cref="P:Rebex.Net.SmtpSettings.AllowNullSender" /> property to allow sending a mail message without a sender specified.</p>
        <p>In builds for .NET 4.0 and higher, this method is available as an extension method. Add 'using Rebex.Legacy' (C#) or 'Import Rebex.Legacy' (VB.NET) to your code in order to use it.</p>
      </remarks>
      <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
      <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
      <param name="instance">Instance of Smtp.</param>
      <returns>
            An <see cref="T:System.IAsyncResult" /> that references the asynchronous operation.
            </returns>
    </member>
    <member name="M:Rebex.Legacy.SmtpExtensions.BeginSend(Rebex.Net.Smtp,Rebex.Mime.MimeMessage,System.AsyncCallback,System.Object)">
      <summary>
            Begins asynchronous Send operation.
            Sends a mail message (<see cref="T:Rebex.Mime.MimeMessage" />).
            </summary>
      <param name="mail">The message.</param>
      <remarks>
        <p>Both sender and the list of recipients are extracted from the message.
            The sender address is taken from the "Sender" header field or from the first address in the "From" field if the "Sender" is missing.
            The list of recipients comes from "To", "Cc" and "Bcc" header fields.
            Also, the "Bcc" field is removed from message headers prior to sending.
            Set the <see cref="P:Rebex.Net.SmtpSettings.AllowNullSender" /> property to allow sending a mime message without a sender specified.</p>
        <p>In builds for .NET 4.0 and higher, this method is available as an extension method. Add 'using Rebex.Legacy' (C#) or 'Import Rebex.Legacy' (VB.NET) to your code in order to use it.</p>
      </remarks>
      <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
      <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
      <param name="instance">Instance of Smtp.</param>
      <returns>
            An <see cref="T:System.IAsyncResult" /> that references the asynchronous operation.
            </returns>
    </member>
    <member name="M:Rebex.Legacy.SmtpExtensions.BeginSend(Rebex.Net.Smtp,Rebex.Mail.MailMessage,System.AsyncCallback,System.Object)">
      <summary>
            Begins asynchronous Send operation.
            Sends a mail message (<see cref="T:Rebex.Mail.MailMessage" />).
            </summary>
      <param name="mail">The message.</param>
      <remarks>
        <p>Both sender and the list of recipients are extracted from the message.
            The sender address is taken from the "Sender" header field or from the first address in the "From" field if the "Sender" is missing.
            The list of recipients comes from "To", "Cc" and "Bcc" header fields.
            Also, the "Bcc" field is removed from message headers prior to sending.
            Set the <see cref="P:Rebex.Net.SmtpSettings.AllowNullSender" /> property to allow sending a mail message without a sender specified.</p>
        <p>In builds for .NET 4.0 and higher, this method is available as an extension method. Add 'using Rebex.Legacy' (C#) or 'Import Rebex.Legacy' (VB.NET) to your code in order to use it.</p>
      </remarks>
      <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
      <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
      <param name="instance">Instance of Smtp.</param>
      <returns>
            An <see cref="T:System.IAsyncResult" /> that references the asynchronous operation.
            </returns>
    </member>
    <member name="M:Rebex.Legacy.SmtpExtensions.BeginSend(Rebex.Net.Smtp,System.String,System.String,System.String,System.String,System.AsyncCallback,System.Object)">
      <summary>
            Begins asynchronous Send operation.
            Sends a mail message constructed from the specified parameters.
            </summary>
      <param name="from">Message sender.</param>
      <param name="to">Comma-separated list of message recipients.</param>
      <param name="subject">The subject of the message.</param>
      <param name="body">The text body of the message.</param>
      <remarks>
        <p>Set the <see cref="P:Rebex.Net.SmtpSettings.AllowNullSender" /> property to allow sending a mail without a sender specified.</p>
        <p>In builds for .NET 4.0 and higher, this method is available as an extension method. Add 'using Rebex.Legacy' (C#) or 'Import Rebex.Legacy' (VB.NET) to your code in order to use it.</p>
      </remarks>
      <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
      <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
      <param name="instance">Instance of Smtp.</param>
      <returns>
            An <see cref="T:System.IAsyncResult" /> that references the asynchronous operation.
            </returns>
    </member>
    <member name="M:Rebex.Legacy.SmtpExtensions.BeginSend(Rebex.Net.Smtp,System.IO.Stream,System.String,System.String,System.AsyncCallback,System.Object)">
      <summary>
            Begins asynchronous Send operation.
            Reads and sends a mail message from the specified stream in MIME format.
            </summary>
      <param name="input">The input stream.</param>
      <param name="sender">Message sender address (can be null or empty string).</param>
      <param name="recipients">The list of recipients (can be null).</param>
      <remarks>
        <p>
            The stream must contain data in MIME format, other formats are not supported.
            MIME files often have the '.eml' extension and are produced by Outlook Express.
            In contrast, Outlook produces '.msg' files that are not MIME files and therefore
            cannot be sent using this method.
            </p>
        <p>
            If the sender address argument is null (Nothing in Visual Basic), it is taken from the from the "Sender" header field
            or from the first address in the "From" field if the "Sender" is missing.<br />
            If the sender address argument is empty string, it means null sender - same behavior as if "&lt;&gt;" would be specified.<br />
            If the recipients argument is null (Nothing in Visual Basic), it overrides the list of recipients contained in the message. If the recipients argument is null,
            the list of recipients is extracted from "To", "Cc" and "Bcc" header fields.<br />
            The "Bcc" field is removed from message headers prior to sending.
            </p>
        <p>
            Set the <see cref="P:Rebex.Net.SmtpSettings.AllowNullSender" /> property to allow sending a mail without a sender specified.
            </p>
        <p>In builds for .NET 4.0 and higher, this method is available as an extension method. Add 'using Rebex.Legacy' (C#) or 'Import Rebex.Legacy' (VB.NET) to your code in order to use it.</p>
      </remarks>
      <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
      <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
      <param name="instance">Instance of Smtp.</param>
      <returns>
            An <see cref="T:System.IAsyncResult" /> that references the asynchronous operation.
            </returns>
    </member>
    <member name="M:Rebex.Legacy.SmtpExtensions.BeginSend(Rebex.Net.Smtp,System.IO.Stream,System.AsyncCallback,System.Object)">
      <summary>
            Begins asynchronous Send operation.
            Reads and sends a mail message from the specified stream in MIME format.
            </summary>
      <param name="input">The input stream.</param>
      <remarks>
        <p>
            The stream must contain data in MIME format, other formats are not supported.
            MIME files often have the '.eml' extension and are produced by Outlook Express.
            In contrast, Outlook produces '.msg' files that are not MIME files and therefore
            cannot be sent using this method.
            </p>
        <p>
            Both sender and the list of recipients are extracted from the message.
            The sender address is taken from the "Sender" header field, or from the first address in the "From" field if the "Sender" is missing.
            The list of recipients comes from "To", "Cc" and "Bcc" header fields.
            Also, the "Bcc" field is removed from message headers prior to sending.
            </p>
        <p>
            Set the <see cref="P:Rebex.Net.SmtpSettings.AllowNullSender" /> property to allow sending a mail without a sender specified.
            </p>
        <p>In builds for .NET 4.0 and higher, this method is available as an extension method. Add 'using Rebex.Legacy' (C#) or 'Import Rebex.Legacy' (VB.NET) to your code in order to use it.</p>
      </remarks>
      <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
      <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
      <param name="instance">Instance of Smtp.</param>
      <returns>
            An <see cref="T:System.IAsyncResult" /> that references the asynchronous operation.
            </returns>
    </member>
    <member name="M:Rebex.Legacy.SmtpExtensions.BeginSend(Rebex.Net.Smtp,System.String,System.AsyncCallback,System.Object)">
      <summary>
            Begins asynchronous Send operation.
            Reads and sends a mail message from the specified local file in MIME format.
            </summary>
      <param name="fileName">The path to the mail message file.</param>
      <remarks>
        <p>
            The file must be in MIME format, other formats are not supported.
            MIME files often have the '.eml' extension and are produced by Outlook Express.
            In contrast, Outlook produces '.msg' files that are not MIME files and therefore
            cannot be sent using this method.
            </p>
        <p>
            Both sender and the list of recipients are extracted from the message.
            The sender address is taken from the "Sender" header field, or from the first address in the "From" field if the "Sender" is missing.
            The list of recipients comes from "To", "Cc" and "Bcc" header fields.
            Also, the "Bcc" field is removed from message headers prior to sending.
            </p>
        <p>
            Set the <see cref="P:Rebex.Net.SmtpSettings.AllowNullSender" /> property to allow sending a mail without a sender specified.
            </p>
        <p>In builds for .NET 4.0 and higher, this method is available as an extension method. Add 'using Rebex.Legacy' (C#) or 'Import Rebex.Legacy' (VB.NET) to your code in order to use it.</p>
      </remarks>
      <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
      <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
      <param name="instance">Instance of Smtp.</param>
      <returns>
            An <see cref="T:System.IAsyncResult" /> that references the asynchronous operation.
            </returns>
    </member>
    <member name="M:Rebex.Legacy.SmtpExtensions.BeginSend(Rebex.Net.Smtp,System.String,System.String,System.String,System.AsyncCallback,System.Object)">
      <summary>
            Begins asynchronous Send operation.
            Reads and sends a mail message from the specified local file in MIME format.
            </summary>
      <param name="fileName">The path to the mail message file.</param>
      <param name="sender">Message sender address (can be null or empty string).</param>
      <param name="recipients">The list of recipients (can be null).</param>
      <remarks>
        <p>
            The stream must contain data in MIME format, other formats are not supported.
            MIME files often have the '.eml' extension and are produced by Outlook Express.
            In contrast, Outlook produces '.msg' files that are not MIME files and therefore
            cannot be sent using this method.
            </p>
        <p>
            If the sender address argument is null (Nothing in Visual Basic), it is taken from the from the "Sender" header field
            or from the first address in the "From" field if the "Sender" is missing.<br />
            If the sender address argument is empty string, it means null sender - same behavior as if "&lt;&gt;" would be specified.<br />
            If the recipients argument is null (Nothing in Visual Basic), it overrides the list of recipients contained in the message. If the recipients argument is null,
            the list of recipients is extracted from "To", "Cc" and "Bcc" header fields.<br />
            The "Bcc" field is removed from message headers prior to sending.
            </p>
        <p>
            Set the <see cref="P:Rebex.Net.SmtpSettings.AllowNullSender" /> property to allow sending a mail without a sender specified.
            </p>
        <p>In builds for .NET 4.0 and higher, this method is available as an extension method. Add 'using Rebex.Legacy' (C#) or 'Import Rebex.Legacy' (VB.NET) to your code in order to use it.</p>
      </remarks>
      <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
      <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
      <param name="instance">Instance of Smtp.</param>
      <returns>
            An <see cref="T:System.IAsyncResult" /> that references the asynchronous operation.
            </returns>
    </member>
    <member name="M:Rebex.Legacy.SmtpExtensions.EndSend(Rebex.Net.Smtp,System.IAsyncResult)">
      <summary>
            Ends an asynchronous BeginSend operation.
            </summary>
      <param name="asyncResult">Stores state information for this asynchronous operation as well as any user defined data.</param>
      <param name="instance">Instance of Smtp.</param>
    </member>
    <member name="M:Rebex.Legacy.SmtpExtensions.BeginLogin(Rebex.Net.Smtp,Rebex.Net.SmtpAuthentication,System.AsyncCallback,System.Object)">
      <summary>
            Begins asynchronous Login operation.
            Authenticates the user to the SMTP server using the specified authentication method that does not require credentials (NTLM or GSSAPI).
            Only supported on Windows.
            </summary>
      <param name="method">Authentication method.</param>
      <remarks>
        <p>In builds for .NET 4.0 and higher, this method is available as an extension method. Add 'using Rebex.Legacy' (C#) or 'Import Rebex.Legacy' (VB.NET) to your code in order to use it.</p>
      </remarks>
      <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
      <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
      <param name="instance">Instance of Smtp.</param>
      <returns>
            An <see cref="T:System.IAsyncResult" /> that references the asynchronous operation.
            </returns>
    </member>
    <member name="M:Rebex.Legacy.SmtpExtensions.BeginLogin(Rebex.Net.Smtp,Rebex.Net.GssApiProvider,System.AsyncCallback,System.Object)">
      <summary>
            Begins asynchronous Login operation.
            Authenticates the user to the SMTP server using the specified GSSAPI provider.
            Only supported on Windows and partially on Mono.
            </summary>
      <param name="provider">GSSAPI provider.</param>
      <remarks>
        <p>In builds for .NET 4.0 and higher, this method is available as an extension method. Add 'using Rebex.Legacy' (C#) or 'Import Rebex.Legacy' (VB.NET) to your code in order to use it.</p>
      </remarks>
      <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
      <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
      <param name="instance">Instance of Smtp.</param>
      <returns>
            An <see cref="T:System.IAsyncResult" /> that references the asynchronous operation.
            </returns>
    </member>
    <member name="M:Rebex.Legacy.SmtpExtensions.BeginLogin(Rebex.Net.Smtp,System.String,System.String,Rebex.Net.SmtpAuthentication,System.AsyncCallback,System.Object)">
      <summary>
            Begins asynchronous Login operation.
            Authenticates the user to the SMTP server using the specified authentication method.
            </summary>
      <param name="userName">User name.</param>
      <param name="password">Password.</param>
      <param name="method">Authentication method.</param>
      <remarks>
        <p>In builds for .NET 4.0 and higher, this method is available as an extension method. Add 'using Rebex.Legacy' (C#) or 'Import Rebex.Legacy' (VB.NET) to your code in order to use it.</p>
      </remarks>
      <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
      <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
      <param name="instance">Instance of Smtp.</param>
      <returns>
            An <see cref="T:System.IAsyncResult" /> that references the asynchronous operation.
            </returns>
    </member>
    <member name="M:Rebex.Legacy.SmtpExtensions.BeginLogin(Rebex.Net.Smtp,System.String,Rebex.Net.SmtpAuthentication,System.AsyncCallback,System.Object)">
      <summary>
            Begins asynchronous Login operation.
            Authenticates the user to the SMTP server using an OAuth token.
            </summary>
      <param name="token">Authentication token.</param>
      <param name="method">Authentication method (only OAuth 2.0 is supported at the moment).</param>
      <remarks>
        <p>In builds for .NET 4.0 and higher, this method is available as an extension method. Add 'using Rebex.Legacy' (C#) or 'Import Rebex.Legacy' (VB.NET) to your code in order to use it.</p>
      </remarks>
      <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
      <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
      <param name="instance">Instance of Smtp.</param>
      <returns>
            An <see cref="T:System.IAsyncResult" /> that references the asynchronous operation.
            </returns>
    </member>
    <member name="M:Rebex.Legacy.SmtpExtensions.BeginLogin(Rebex.Net.Smtp,System.String,System.String,System.AsyncCallback,System.Object)">
      <summary>
            Begins asynchronous Login operation.
            Authenticates the user to the SMTP server.
            </summary>
      <param name="userName">User name.</param>
      <param name="password">Password.</param>
      <remarks>
        <p>This method tries to authenticate using the following methods,
            in this order of preference: CRAM-MD5, DIGEST-MD5, PLAIN, LOGIN, GSSAPI, NTLM.
            The NTLM and GSSAPI methods are only attempted if no other method is available -
            please use <see cref="M:Rebex.Net.Smtp.Login(System.String,System.String,Rebex.Net.SmtpAuthentication)" /> and specify
            NTLM or GSSAPI directly if you wish to use them.</p>
        <p>In builds for .NET 4.0 and higher, this method is available as an extension method. Add 'using Rebex.Legacy' (C#) or 'Import Rebex.Legacy' (VB.NET) to your code in order to use it.</p>
      </remarks>
      <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
      <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
      <param name="instance">Instance of Smtp.</param>
      <returns>
            An <see cref="T:System.IAsyncResult" /> that references the asynchronous operation.
            </returns>
    </member>
    <member name="M:Rebex.Legacy.SmtpExtensions.EndLogin(Rebex.Net.Smtp,System.IAsyncResult)">
      <summary>
            Ends an asynchronous BeginLogin operation.
            </summary>
      <param name="asyncResult">Stores state information for this asynchronous operation as well as any user defined data.</param>
      <param name="instance">Instance of Smtp.</param>
    </member>
    <member name="M:Rebex.Legacy.SmtpExtensions.BeginSendCommand(Rebex.Net.Smtp,System.String,System.AsyncCallback,System.Object)">
      <summary>
            Begins asynchronous SendCommand operation.
            Executes a command on the SMTP server.
            </summary>
      <param name="command">Command (e.g. "HELP").</param>
      <remarks>
        <p>Must be followed by a call to <see cref="M:Rebex.Net.Smtp.ReadResponse">ReadResponse</see> method.</p>
        <p>Use <see cref="M:Rebex.Net.Smtp.ReadResponse">ReadResponse</see> and SendCommand to implement various custom commands.</p>
        <p>In builds for .NET 4.0 and higher, this method is available as an extension method. Add 'using Rebex.Legacy' (C#) or 'Import Rebex.Legacy' (VB.NET) to your code in order to use it.</p>
      </remarks>
      <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
      <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
      <param name="instance">Instance of Smtp.</param>
      <returns>
            An <see cref="T:System.IAsyncResult" /> that references the asynchronous operation.
            </returns>
    </member>
    <member name="M:Rebex.Legacy.SmtpExtensions.EndSendCommand(Rebex.Net.Smtp,System.IAsyncResult)">
      <summary>
            Ends an asynchronous BeginSendCommand operation.
            </summary>
      <param name="asyncResult">Stores state information for this asynchronous operation as well as any user defined data.</param>
      <param name="instance">Instance of Smtp.</param>
    </member>
    <member name="M:Rebex.Legacy.SmtpExtensions.BeginReadResponse(Rebex.Net.Smtp,System.AsyncCallback,System.Object)">
      <summary>
            Begins asynchronous ReadResponse operation.
            Returns the response of the SMTP server to the command.
            </summary>
      <remarks>
        <p>Use ReadResponse and <see cref="M:Rebex.Net.Smtp.SendCommand(System.String)">SendCommand</see> to implement various custom commands.</p>
        <p>
            After a successful call to ReadResponse,
            the <see cref="T:Rebex.Net.Smtp" /> object will be in <see cref="T:Rebex.Net.SmtpState">Processing</see> state if the response <see cref="P:Rebex.Net.SmtpResponse.Group">Group</see> is 3,
            in <see cref="T:Rebex.Net.SmtpState">Reading</see> state if the response <see cref="P:Rebex.Net.SmtpResponse.Group">Group</see> is 1 or
            in <see cref="T:Rebex.Net.SmtpState">Ready</see> state in other cases.
            </p>
        <p>In builds for .NET 4.0 and higher, this method is available as an extension method. Add 'using Rebex.Legacy' (C#) or 'Import Rebex.Legacy' (VB.NET) to your code in order to use it.</p>
      </remarks>
      <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
      <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
      <param name="instance">Instance of Smtp.</param>
      <returns>
            An <see cref="T:System.IAsyncResult" /> that references the asynchronous operation.
            </returns>
    </member>
    <member name="M:Rebex.Legacy.SmtpExtensions.EndReadResponse(Rebex.Net.Smtp,System.IAsyncResult)">
      <summary>
            Ends an asynchronous BeginReadResponse operation.
            </summary>
      <param name="asyncResult">Stores state information for this asynchronous operation as well as any user defined data.</param>
      <param name="instance">Instance of Smtp.</param>
      <returns>Response of the SMTP server.</returns>
    </member>
    <member name="M:Rebex.Legacy.SmtpExtensions.BeginKeepAlive(Rebex.Net.Smtp,System.AsyncCallback,System.Object)">
      <summary>
            Begins asynchronous KeepAlive operation.
            Sends the NOOP command to the server to keep the connection alive.
            </summary>
      <remarks>
        <p>Represents SMTP NOOP command.</p>
        <p>Call this if you do not want the connection to the server to time out.</p>
        <p>Some servers ignore NOOP command.</p>
        <p>In builds for .NET 4.0 and higher, this method is available as an extension method. Add 'using Rebex.Legacy' (C#) or 'Import Rebex.Legacy' (VB.NET) to your code in order to use it.</p>
      </remarks>
      <param name="callback">An optional asynchronous callback to be called when the operation is complete.</param>
      <param name="state">A user-provided object that identifies this particular asynchronous operation.</param>
      <param name="instance">Instance of Smtp.</param>
      <returns>
            An <see cref="T:System.IAsyncResult" /> that references the asynchronous operation.
            </returns>
    </member>
    <member name="M:Rebex.Legacy.SmtpExtensions.EndKeepAlive(Rebex.Net.Smtp,System.IAsyncResult)">
      <summary>
            Ends an asynchronous BeginKeepAlive operation.
            </summary>
      <param name="asyncResult">Stores state information for this asynchronous operation as well as any user defined data.</param>
      <param name="instance">Instance of Smtp.</param>
    </member>
  </members>
</doc>