ChangePassword.MailDefinition Propriedade

Definição

Recebe uma referência a um conjunto de propriedades que definem a mensagem de email enviada aos utilizadores depois de terem alterado a palavra-passe.

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 Propriedade

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

Atributos

Exceções

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

Exemplos

O exemplo de código seguinte mostra como usar a MailDefinition propriedade para definir uma mensagem de email enviada a utilizadores que alteram as suas palavras-passe. Assume que existe um ficheiro chamado MailFile.txt que contém o texto da mensagem de email a enviar.

Para poder enviar mensagens de email aos utilizadores, deve configurar um servidor de email no ficheiro Web.config da sua aplicação. Para mais informações, veja 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>

Observações

A MailDefinition propriedade devolve uma referência a um grupo de propriedades que utiliza para definir o formato e o conteúdo da mensagem de email enviada aos utilizadores após terem alterado a palavra-passe. As definições comuns incluem a linha de assunto e o endereço de remetente do remetente. Para uma lista completa de propriedades, veja MailDefinition.

A MailDefinition propriedade é só de leitura; no entanto, pode definir as propriedades do MailDefinition objeto que ela devolve. Pode definir estas propriedades na subpropriedade- da propriedade da forma, onde a subpropriedade representa uma propriedade da MailDefinition classe (por exemplo, ). MailDefinition-Subject Também pode definir as propriedades programaticamente na formaSubpropriedade de Propriedade. (por exemplo,MailDefinition.Subject).

Uma mensagem de email só é enviada se o utilizador tiver um endereço de email registado junto do fornecedor de membros e se a BodyFileName propriedade MailDefinition da propriedade apontar para um ficheiro válido. Se a BodyFileName propriedade estiver definida, deve From ser definida para um endereço de email; caso contrário, é lançada uma HttpException exceção.

Se a mensagem de email for criada a partir do MailDefinition objeto, fará as substituições apresentadas na tabela seguinte. O texto de substituição é indistinto a maiúsculas e maiúsculas.

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

Se a IsBodyHtml propriedade do MailDefinition objeto for true, o conteúdo da mensagem de e-mail será codificado em HTML para proteger contra vulnerabilidades de segurança de scripting cruzado para o destinatário da mensagem.

Pode usar o SendingMail evento para modificar o MailMessage objeto criado pelo MailDefinition objeto.

Importante

Enviar nomes de contas de utilizador ou palavras-passe por email é uma ameaça potencial à segurança. As mensagens de email são normalmente enviadas em texto simples e podem ser lidas por aplicações especiais de "sniffing" em rede. Para melhorar a segurança, utilize as mitigações descritas em Securing Login Controls.

Esta propriedade não pode ser definida por temas ou temas de folhas de estilo. Para mais informações, consulte ThemeableAttribute e ASP.NET Temas e Skins.

Aplica-se a

Ver também