Comparteix a través de


ChangePassword.MailDefinition Propiedad

Definición

Obtiene una referencia a una colección de propiedades que definen el mensaje de correo electrónico que se envía a los usuarios después de cambiar su contraseña.

public:
 property System::Web::UI::WebControls::MailDefinition ^ MailDefinition { System::Web::UI::WebControls::MailDefinition ^ get(); };
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
[System.Web.UI.Themeable(false)]
public System.Web.UI.WebControls.MailDefinition MailDefinition { get; }
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
[<System.Web.UI.Themeable(false)>]
member this.MailDefinition : System.Web.UI.WebControls.MailDefinition
Public ReadOnly Property MailDefinition As MailDefinition

Valor de propiedad

Referencia a un objeto MailDefinition que define el mensaje de correo electrónico enviado a un nuevo usuario.

Atributos

Excepciones

La propiedad From no está establecida en una dirección de correo electrónico.

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar la propiedad MailDefinition para definir un mensaje de correo electrónico que se envía a los usuarios que cambian sus contraseñas. Se supone que hay un archivo denominado MailFile.txt que contiene el texto del mensaje de correo electrónico que se va a enviar.

Para poder enviar mensajes de correo electrónico a los usuarios, debe configurar un servidor de correo electrónico en el archivo Web.config de la aplicación. Para obtener más información, vea Cómo: Instalar y configurar servidores virtuales SMTP en IIS 6.0.

<%@ page language="C#"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
  void Changepassword1_SendingMail(object sender, MailMessageEventArgs e)
  {
    // Set mail message fields.
    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("<%ChangedDate%>", (DateTime.Now.ToString()) );
  }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:changepassword id="Changepassword1" runat="server" 
        maildefinition-bodyfilename="~/MailFiles/mailfile.txt" 
          maildefinition-from="userAdmin@your.site.name.here" 
          onsendingmail="Changepassword1_SendingMail">
      </asp:changepassword>
    </div>
    </form>
</body>
</html>
<%@ page language="VB"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
  Sub Changepassword1_SendingMail(ByVal sender As Object, ByVal e As MailMessageEventArgs)
        ' Set mail message fields.
        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("<%ChangedDate%>", DateTime.Now.ToString())
  End Sub
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:changepassword id="Changepassword1" runat="server" 
          maildefinition-bodyfilename="~/MailFiles/mailfile.txt"
          maildefinition-from="userAdmin@your.site.name.here" 
          onsendingmail="Changepassword1_SendingMail">
      </asp:changepassword>
    </div>
    </form>
</body>
</html>

Comentarios

La propiedad MailDefinition devuelve una referencia a un grupo de propiedades que se usan para definir el formato y el contenido del mensaje de correo electrónico enviado a los usuarios después de cambiar su contraseña. La configuración común incluye la línea de asunto y la dirección de devolución del remitente. Para obtener una lista completa de las propiedades, consulte MailDefinition.

La propiedad MailDefinition es de solo lectura; sin embargo, puede establecer las propiedades del objeto MailDefinition que devuelve. Puede establecer estas propiedades en el formulario propiedad-subpropiedad, donde subpropiedad representa una propiedad de la clase MailDefinition (por ejemplo, MailDefinition-Subject). También puede establecer las propiedades mediante programación en el formulario Property.Subproperty (por ejemplo,MailDefinition.Subject).

Solo se envía un mensaje de correo electrónico si el usuario tiene una dirección de correo electrónico registrada con el proveedor de pertenencia y si la propiedad BodyFileName de la propiedad MailDefinition apunta a un archivo válido. Si se establece la propiedad BodyFileName, la propiedad From debe establecerse en una dirección de correo electrónico; De lo contrario, se produce una excepción de HttpException.

Si el mensaje de correo electrónico se crea a partir del objeto MailDefinition, realizará las sustituciones que se muestran en la tabla siguiente. El texto de sustitución no distingue mayúsculas de minúsculas.

Texto de sustitución Reemplazado por
<%UserName%> Nombre de usuario del sitio web del usuario.
% de contraseña de % Nueva contraseña para el usuario.

Si la propiedad IsBodyHtml del objeto MailDefinition es true, el contenido del mensaje de correo se codificará en HTML para protegerse frente a vulnerabilidades de seguridad de scripting entre sitios para el destinatario del mensaje.

Puede usar el evento SendingMail para modificar el objeto MailMessage creado por el objeto MailDefinition.

Importante

El envío de nombres de cuenta de usuario o contraseñas por correo electrónico es una posible amenaza de seguridad. Normalmente, los mensajes de correo electrónico se envían en texto sin formato y se pueden leer mediante aplicaciones especiales de red "sniffing". Para mejorar la seguridad, use las mitigaciones que se describen en Proteger controles de inicio de sesión.

Esta propiedad no se puede establecer mediante temas ni temas de hojas de estilos. Para obtener más información, consulte ThemeableAttribute y temas y ASP.NET temas y máscaras.

Se aplica a

Consulte también