ChangePassword.MailDefinition Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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. |
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
- ASP.NET de controles de inicio de sesión
- personalizar la apariencia y el comportamiento de los controles de inicio de sesión de ASP.NET
- plantillas de controles de servidor web de ASP.NET
- Cómo: Mostrar información diferente a usuarios anónimos e iniciados sesión
- pestaña Seguridad de la herramienta de administración de sitios web de
- proteger los controles de inicio de sesión
- Prácticas básicas de seguridad para aplicaciones web
- proteger la de pertenencia