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 que hayan cambiado la 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 MailDefinition objeto que define el mensaje de correo electrónico enviado a un nuevo usuario.

Atributos

Excepciones

La propiedad From no se establece en una dirección de correo electrónico.

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar la MailDefinition propiedad 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 MailDefinition propiedad 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 de propiedades completa, vea MailDefinition.

La MailDefinition propiedad es de solo lectura; sin embargo, puede establecer las propiedades del MailDefinition objeto que devuelve. Puede establecer estas propiedades en lasubpropiedad de propiedad- de formulario, donde la subpropiedad representa una propiedad de la MailDefinition clase (por ejemplo, MailDefinition-Subject). También puede establecer las propiedades mediante programación en el formularioSubpropiedadde. propiedad (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 BodyFileName propiedad de la MailDefinition propiedad apunta a un archivo válido. Si se establece la BodyFileName propiedad , la From propiedad debe establecerse en una dirección de correo electrónico; de lo contrario, se produce una HttpException excepción.

Si el mensaje de correo electrónico se crea a partir del MailDefinition objeto , 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.
<%Password%> Nueva contraseña para el usuario.

Si la IsBodyHtml propiedad del MailDefinition objeto 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 SendingMail evento para modificar el MailMessage objeto creado por el MailDefinition objeto .

Importante

El envío de nombres de cuenta de usuario o contraseñas por correo electrónico es una amenaza de seguridad potencial. Email mensajes se envían normalmente 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 Protección de controles de inicio de sesión.

Esta propiedad no se puede establecer mediante temas o temas de la hoja de estilos. Para obtener más información, vea ThemeableAttribute y ASP.NET Temas y máscaras.

Se aplica a

Consulte también