CreateUserWizard.OnSendMailError Method (SendMailErrorEventArgs)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Raises the SendMailError event when e-mail cannot be sent to the new user.

Namespace:   System.Web.UI.WebControls
Assembly:  System.Web (in System.Web.dll)

protected virtual void OnSendMailError(
	SendMailErrorEventArgs e


Type: System.Web.UI.WebControls.SendMailErrorEventArgs

A SendMailErrorEventArgs containing the event data.

The OnSendMailError method is called when the SMTP mail system raises an exception while attempting to send e-mail to the new user.

Examine the Exception property of the SendMailErrorEventArgs object passed as the e parameter to determine the actual cause of the exception. The most common problem is a configuration error in the <smtpMail> section of the Web.config file.

You must set the Handled property of the SendMailErrorEventArgs object passed as the e parameter to signal that the exception that caused the OnSendMailError method to be called has been taken care of, otherwise the exception is re-thrown.

Raising an event invokes the event handler through a delegate. For more information, see Handling and Raising Events.

The OnSendMailError method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.

Notes to Inheritors:

When overriding OnSendMailError in a derived class, be sure to call the base class’s OnSendMailError method so that registered delegates receive the event.

The following code example defines a custom CreateUserWizard object that logs e-mail errors to a site-specific logging function.

using System;
using System.Web;
using System.Web.UI.WebControls;
using System.Security.Permissions;

namespace Samples.AspNet.CS.Controls {

  [AspNetHostingPermission (SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Minimal)]
  [AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
  public class CustomCreateUserWizard : CreateUserWizard
    private void SiteSpecificErrorLoggingProcedure (SendMailErrorEventArgs e)
      // Site-specific code for logging e-mail errors goes here.

    protected override void OnSendMailError (SendMailErrorEventArgs e)
      this.SiteSpecificErrorLoggingProcedure (e);
      e.Handled = true;

The following code example demonstrates a Web page that uses the CustomCreateUserWizard.

<%@ Page Language="C#"%>
<%@ Import namespace="Samples.AspNet.CS.Controls" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
<script runat="server">
  void Page_Load (object sender, EventArgs e)
    CustomCreateUserWizard createUser = new CustomCreateUserWizard ();
    Placeholder1.Controls.Add (createUser);

<html xmlns="" >
<head runat="server">
    <title>CreateUserWizard.OnSendMailError sample</title>
    <form id="form1" runat="server">
      <asp:placeholder id="Placeholder1" runat="server">

.NET Framework
Available since 2.0
Return to top