Partilhar via


ChangePassword.MailDefinition Propriedade

Definição

Obtém uma referência a uma coleção de propriedades que definem a mensagem de email que é enviada aos usuários depois que eles alteraram a senha.

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 da propriedade

Uma referência a um objeto MailDefinition que define a mensagem de email enviada a um novo usuário.

Atributos

Exceções

A propriedade From não está definida como um endereço de email.

Exemplos

O exemplo de código a seguir mostra como usar a propriedade MailDefinition para definir uma mensagem de email que é enviada aos usuários que alteram suas senhas. Ele pressupõe que há um arquivo chamado MailFile.txt que contém o texto da mensagem de email a ser enviada.

Para poder enviar mensagens de email aos usuários, você deve configurar um servidor de email no arquivo Web.config para seu aplicativo. Para obter mais informações, consulte Como instalar e configurar servidores virtuais SMTP no 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>

Comentários

A propriedade MailDefinition retorna uma referência a um grupo de propriedades que você usa para definir o formato e o conteúdo da mensagem de email enviada aos usuários depois que eles alterarem a senha. As configurações comuns incluem a linha de assunto e o endereço de retorno do remetente. Para obter uma lista completa de propriedades, consulte MailDefinition.

A propriedade MailDefinition é somente leitura; no entanto, você pode definir as propriedades do objeto MailDefinition que ele retorna. Você pode definir essas propriedades no formulário propriedade-de subpropriedade, em que subpropriedade representa uma propriedade da classe MailDefinition (por exemplo, MailDefinition-Subject). Você também pode definir as propriedades programaticamente no formulário Property.Subproperty (por exemplo,MailDefinition.Subject).

Uma mensagem de email será enviada somente se o usuário tiver um endereço de email registrado com o provedor de associação e se a propriedade BodyFileName da propriedade MailDefinition apontar para um arquivo válido. Se a propriedade BodyFileName estiver definida, a propriedade From deverá ser definida como um endereço de email; caso contrário, uma exceção HttpException é gerada.

Se a mensagem de email for criada a partir do objeto MailDefinition, ela fará as substituições mostradas na tabela a seguir. O texto de substituição não diferencia maiúsculas de minúsculas.

Texto de substituição Substituído por
<%UserName%> O nome de usuário do site do usuário.
<%%> de senha A nova senha para o usuário.

Se a propriedade IsBodyHtml do objeto MailDefinition for true, o conteúdo da mensagem de email será codificado em HTML para proteger contra vulnerabilidades de segurança de script entre sites para o destinatário da mensagem.

Você pode usar o evento SendingMail para modificar o objeto MailMessage criado pelo objeto MailDefinition.

Importante

Enviar nomes de conta de usuário ou senhas por email é uma ameaça à segurança em potencial. As mensagens de email normalmente são enviadas em texto sem formatação e podem ser lidas por aplicativos especiais de "detecção" de rede. Para melhorar a segurança, use as mitigações descritas no Proteção de Controles de Logon.

Essa propriedade não pode ser definida por temas ou temas de folha de estilos. Para obter mais informações, consulte ThemeableAttribute e ASP.NET Temas e Peles.

Aplica-se a

Confira também