<html dir="LTR">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=Windows-1252" />
    <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5" />
    <title>SmtpAppender Methods</title>
    <xml>
    </xml>
    <link rel="stylesheet" type="text/css" href="MSDN.css" />
  </head>
  <body id="bodyID" class="dtBODY">
    <div id="nsbanner">
      <div id="bannerrow1">
        <table class="bannerparthead" cellspacing="0">
          <tr id="hdr">
            <td class="runninghead">Apache log4net� SDK Documentation - Microsoft .NET Framework 4.0</td>
            <td class="product">
            </td>
          </tr>
        </table>
      </div>
      <div id="TitleRow">
        <h1 class="dtH1">SmtpAppender�Methods</h1>
      </div>
    </div>
    <div id="nstext">
      <p>The methods of the <b>SmtpAppender</b> class are listed below. For a complete list of <b>SmtpAppender</b> class members, see the <a href="log4net.Appender.SmtpAppenderMembers.html">SmtpAppender Members</a> topic.</p>
      <h4 class="dtH4">Public Instance Methods</h4>
      <div class="tablediv">
        <table class="dtTABLE" cellspacing="0">
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="log4net.Appender.BufferingAppenderSkeleton.ActivateOptions.html">ActivateOptions</a> (inherited from <b>BufferingAppenderSkeleton</b>)</td><td width="50%"> Initialize the appender based on the options set </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="log4net.Appender.AppenderSkeleton.AddFilter.html">AddFilter</a> (inherited from <b>AppenderSkeleton</b>)</td><td width="50%"> Adds a filter to the end of the filter chain. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="log4net.Appender.AppenderSkeleton.ClearFilters.html">ClearFilters</a> (inherited from <b>AppenderSkeleton</b>)</td><td width="50%"> Clears the filter list for this appender. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="log4net.Appender.AppenderSkeleton.Close.html">Close</a> (inherited from <b>AppenderSkeleton</b>)</td><td width="50%"> Closes the appender and release resources. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="log4net.Appender.AppenderSkeleton.DoAppend_overloads.html">DoAppend</a> (inherited from <b>AppenderSkeleton</b>)</td><td width="50%">Overloaded.  Performs threshold checks and invokes filters before delegating actual logging to the subclasses specific <b>Append</b> method. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemObjectClassEqualsTopic.htm">Equals</a> (inherited from <b>Object</b>)</td><td width="50%">�</td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="log4net.Appender.BufferingAppenderSkeleton.Flush_overloads.html">Flush</a> (inherited from <b>BufferingAppenderSkeleton</b>)</td><td width="50%">Overloaded.  Flush the currently buffered events </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemObjectClassGetHashCodeTopic.htm">GetHashCode</a> (inherited from <b>Object</b>)</td><td width="50%">�</td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemObjectClassGetTypeTopic.htm">GetType</a> (inherited from <b>Object</b>)</td><td width="50%">�</td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemObjectClassToStringTopic.htm">ToString</a> (inherited from <b>Object</b>)</td><td width="50%">�</td></tr></table>
      </div>
      <h4 class="dtH4">Protected Instance Methods</h4>
      <div class="tablediv">
        <table class="dtTABLE" cellspacing="0">
<tr VALIGN="top"><td width="50%"><img src="protmethod.gif"></img><a href="log4net.Appender.BufferingAppenderSkeleton.Append_overload_1.html">Append</a> (inherited from <b>BufferingAppenderSkeleton</b>)</td><td width="50%">Overloaded.  This method is called by the <b>DoAppend</b> method. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="protmethod.gif"></img><a href="log4net.Appender.AppenderSkeleton.Append_overload_1.html">Append</a> (inherited from <b>AppenderSkeleton</b>)</td><td width="50%">Overloaded.  Subclasses of <a href="log4net.Appender.AppenderSkeleton.html">AppenderSkeleton</a> should implement this method to perform actual logging. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="protmethod.gif"></img><a href="log4net.Appender.AppenderSkeleton.FilterEvent.html">FilterEvent</a> (inherited from <b>AppenderSkeleton</b>)</td><td width="50%"> Test if the logging event should we output by this appender </td></tr>
<tr VALIGN="top"><td width="50%"><img src="protmethod.gif"></img><a href="log4net.Appender.AppenderSkeleton.Finalize.html">Finalize</a> (inherited from <b>AppenderSkeleton</b>)</td><td width="50%"> Finalizes this appender by calling the implementation's <a href="log4net.Appender.AppenderSkeleton.Close.html">Close</a> method. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="protmethod.gif"></img><a href="log4net.Appender.AppenderSkeleton.IsAsSevereAsThreshold.html">IsAsSevereAsThreshold</a> (inherited from <b>AppenderSkeleton</b>)</td><td width="50%"> Checks if the message level is below this appender's threshold. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="protmethod.gif"></img><a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemObjectClassMemberwiseCloneTopic.htm">MemberwiseClone</a> (inherited from <b>Object</b>)</td><td width="50%">�</td></tr>
<tr VALIGN="top"><td width="50%"><img src="protmethod.gif"></img><a href="log4net.Appender.BufferingAppenderSkeleton.OnClose.html">OnClose</a> (inherited from <b>BufferingAppenderSkeleton</b>)</td><td width="50%"> Close this appender instance. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="protmethod.gif"></img><a href="log4net.Appender.AppenderSkeleton.PreAppendCheck.html">PreAppendCheck</a> (inherited from <b>AppenderSkeleton</b>)</td><td width="50%"> Called before <b>Append</b> as a precondition. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="protmethod.gif"></img><a href="log4net.Appender.AppenderSkeleton.RenderLoggingEvent_overloads.html">RenderLoggingEvent</a> (inherited from <b>AppenderSkeleton</b>)</td><td width="50%">Overloaded.  Renders the <a href="log4net.Core.LoggingEvent.html">LoggingEvent</a> to a string. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="protmethod.gif"></img><a href="log4net.Appender.SmtpAppender.SendBuffer.html">SendBuffer</a></td><td width="50%"> Sends the contents of the cyclic buffer as an e-mail message. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="protmethod.gif"></img><a href="log4net.Appender.SmtpAppender.SendEmail.html">SendEmail</a></td><td width="50%"> Send the email message </td></tr>
<tr VALIGN="top"><td width="50%"><img src="protmethod.gif"></img><a href="log4net.Appender.BufferingAppenderSkeleton.SendFromBuffer.html">SendFromBuffer</a> (inherited from <b>BufferingAppenderSkeleton</b>)</td><td width="50%"> Sends the contents of the buffer. </td></tr></table>
      </div>
      <h4 class="dtH4">See Also</h4>
      <p>
        <a href="log4net.Appender.SmtpAppender.html">SmtpAppender Class</a> | <a href="log4net.Appender.html">log4net.Appender Namespace</a></p>
      <object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e" viewastext="true" style="display: none;">
        <param name="Keyword" value="SmtpAppender class, methods">
        </param>
      </object>
      <hr />
      <div id="footer"><a href='http://logging.apache.org/log4net/'>Copyright 2004-2011 The Apache Software Foundation.</a><br></br>Apache log4net, Apache and log4net are trademarks of The Apache Software Foundation.</div>
    </div>
  </body>
</html>
