Partager via


ChangePassword.MailDefinition Propriété

Définition

Obtient une référence à une collection de propriétés qui définissent le message électronique envoyé aux utilisateurs une fois leur mot de passe modifié.

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

Valeur de propriété

Référence à un objet MailDefinition qui définit le message électronique envoyé à un nouvel utilisateur.

Attributs

Exceptions

La propriété From n’est pas définie sur une adresse e-mail.

Exemples

L’exemple de code suivant montre comment utiliser la propriété MailDefinition pour définir un message électronique envoyé aux utilisateurs qui modifient leurs mots de passe. Il suppose qu’il existe un fichier appelé MailFile.txt qui contient le texte du message électronique à envoyer.

Pour pouvoir envoyer des messages électroniques aux utilisateurs, vous devez configurer un serveur de messagerie dans le fichier Web.config de votre application. Pour plus d’informations, consultez Guide pratique pour installer et configurer des serveurs virtuels SMTP dans 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>

Remarques

La propriété MailDefinition retourne une référence à un groupe de propriétés que vous utilisez pour définir le format et le contenu du message électronique envoyé aux utilisateurs après avoir modifié leur mot de passe. Les paramètres courants incluent la ligne d’objet et l’adresse de retour de l’expéditeur. Pour obtenir la liste complète des propriétés, consultez MailDefinition.

La propriété MailDefinition est en lecture seule ; Toutefois, vous pouvez définir les propriétés de l’objet MailDefinition qu’il retourne. Vous pouvez définir ces propriétés sous forme propriété-sous-propriété, où sous-propriété représente une propriété de la classe MailDefinition (par exemple, MailDefinition-Subject). Vous pouvez également définir les propriétés par programmation dans le formulaire Property.Subproperty (par exemple,MailDefinition.Subject).

Un message électronique est envoyé uniquement si l’utilisateur a une adresse e-mail inscrite auprès du fournisseur d’appartenances et si la propriété BodyFileName de la propriété MailDefinition pointe vers un fichier valide. Si la propriété BodyFileName est définie, la propriété From doit être définie sur une adresse e-mail ; sinon, une exception HttpException est levée.

Si le message électronique est créé à partir de l’objet MailDefinition, les substitutions sont affichées dans le tableau suivant. Le texte de substitution ne respecte pas la casse.

Texte de substitution Remplacé par
<%UserName%> Nom d’utilisateur du site web de l’utilisateur.
<%%> mot de passe Nouveau mot de passe pour l’utilisateur.

Si la propriété IsBodyHtml de l’objet MailDefinition est true, le contenu du message électronique est encodé au format HTML pour se protéger contre les vulnérabilités de sécurité de script intersites pour le destinataire du message.

Vous pouvez utiliser l’événement SendingMail pour modifier l’objet MailMessage créé par l’objet MailDefinition.

Important

L’envoi de noms de compte d’utilisateur ou de mots de passe dans l’e-mail est une menace de sécurité potentielle. Les messages électroniques sont généralement envoyés en texte brut et peuvent être lus par des applications « sniffing » de réseau spécial. Pour améliorer la sécurité, utilisez les atténuations décrites dans Sécurisation des contrôles de connexion.

Cette propriété ne peut pas être définie par des thèmes ou des thèmes de feuille de style. Pour plus d’informations, consultez ThemeableAttribute et ASP.NET Thèmes etSkins .

S’applique à

Voir aussi