CreateUserWizard.MailDefinition Property


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

Gets a reference to a collection of properties that define the characteristics of the e-mail message sent to new users.

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

public MailDefinition MailDefinition { get; }

Property Value

Type: System.Web.UI.WebControls.MailDefinition

A reference to a MailDefinition object that defines the e-mail message sent to a new user.

Exception Condition

From is not set to an e-mail address.

The MailDefinition property returns a reference to a group of properties that you use to define the format and content of the e-mail message that is sent to new users. Common settings include the subject line and the sender's return address. For a complete list of properties, see the MailDefinition class.

The MailDefinition property is read-only; however, you can set the properties of the MailDefinition object it returns. You can set the MailDefinition properties declaratively in the form Property-Subproperty, where Subproperty represents a property of the MailDefinition class (for example, MailDefinition-Subject). You can also set the properties programmatically in the form Property.SubProperty (for example, MailDefinition.Subject).

An e-mail message is sent to new users only if MailDefinition is not null and if Body is not empty or null. In that case, the SendingMail event is raised and an attempt is made to send the e-mail message. The From property must be set to an e-mail address. Otherwise, an HttpException exception is thrown.

When the e-mail message is created from the MailDefinition object, it will make the substitutions listed in the following table.

Substitution text

Replaced with


The user name of the newly created user account.


The password for the newly created user account.

If the IsBodyHtml property of the MailDefinition object is true, the contents of the mail message will be HTML encoded to guard against cross-site scripting security vulnerabilities for the message recipient.

You can use the OnSendingMail method to modify the MailMessage created by the MailDefinition object.

This property cannot be set by themes or style sheet themes. For more information, see ThemeableAttribute and ASP.NET Themes and Skins.


It is not possible to guarantee that a user will receive or view an e-mail message. To verify that a user has received a notification by e-mail, consider providing a confirmation link in the e-mail message that enables the user to confirm that the notification was received.

The following code example sets properties of the MailDefinition property by using both declarative and programmatic syntax. This code example requires a text file named MailFile.txt that contains the following text.

Your account was set up on our Web site with the following:

    Username:   <%UserName%>

To reset your password, you must answer the following question:

    Password Question: <%PasswordQuestion%>  
    Password Answer:   <%PasswordAnswer%>  

Thank you for creating an account with our Web site.

<%@ page language="C#"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
<script runat="server">
  void Createuserwizard1_SendingMail(object sender, MailMessageEventArgs e)
    // Set MailMessage fields.
    e.Message.IsBodyHtml = false;
    e.Message.Subject = "New user on Web site.";
    // Replace placeholder text in message body with information 
    // provided by the user.
    e.Message.Body = e.Message.Body.Replace("<%PasswordQuestion%>", Createuserwizard1.Question);
    e.Message.Body = e.Message.Body.Replace("<%PasswordAnswer%>",   Createuserwizard1.Answer);  

<html xmlns="" >
  <head runat="server">
      CreateUserWizard.MailDefinition sample</title>
    <form id="form1" runat="server">
        <asp:createuserwizard id="Createuserwizard1" runat="server" 

.NET Framework
Available since 2.0
Return to top