ChangePassword.MailDefinition Proprietà

Definizione

Ottiene un riferimento a una raccolta di proprietà che definiscono il messaggio di posta elettronica inviato agli utenti dopo la modifica della password.

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

Valore della proprietà

Riferimento a un oggetto MailDefinition che definisce il messaggio di posta elettronica inviato a un nuovo utente.

Attributi

Eccezioni

La proprietà From non è impostata su un indirizzo di posta elettronica.

Esempio

Nell'esempio di codice seguente viene illustrato come utilizzare la proprietà MailDefinition per definire un messaggio di posta elettronica inviato agli utenti che modificano le password. Si presuppone che sia presente un file denominato MailFile.txt che contiene il testo del messaggio di posta elettronica da inviare.

Per poter inviare messaggi di posta elettronica agli utenti, è necessario configurare un server di posta elettronica nel file Web.config per l'applicazione. Per altre informazioni, vedere Procedura: Installare e configurare i server virtuali SMTP in 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>

Commenti

La proprietà MailDefinition restituisce un riferimento a un gruppo di proprietà utilizzate per definire il formato e il contenuto del messaggio di posta elettronica inviato agli utenti dopo la modifica della password. Le impostazioni comuni includono la riga dell'oggetto e l'indirizzo di restituzione del mittente. Per un elenco completo delle proprietà, vedere MailDefinition.

La proprietà MailDefinition è di sola lettura; Tuttavia, è possibile impostare le proprietà dell'oggetto MailDefinition restituito. È possibile impostare queste proprietà nel formato proprietà-sottoproprietà, dove sottoproprietà rappresenta una proprietà della classe MailDefinition , ad esempio MailDefinition-Subject. È anche possibile impostare le proprietà a livello di codice nel formato Proprietà. Subproperty , ad esempioMailDefinition.Subject.

Un messaggio di posta elettronica viene inviato solo se l'utente ha un indirizzo di posta elettronica registrato con il provider di appartenenze e se la proprietà BodyFileName della proprietà MailDefinition punta a un file valido. Se la proprietà BodyFileName è impostata, la proprietà From deve essere impostata su un indirizzo di posta elettronica; in caso contrario, viene generata un'eccezione HttpException.

Se il messaggio di posta elettronica viene creato dall'oggetto MailDefinition, eseguirà le sostituzioni illustrate nella tabella seguente. Il testo di sostituzione non fa distinzione tra maiuscole e minuscole.

Testo di sostituzione Sostituito con
<%UserName%> Nome utente del sito Web dell'utente.
<%password%> Nuova password per l'utente.

Se la proprietà IsBodyHtml dell'oggetto MailDefinition è true, il contenuto del messaggio di posta elettronica verrà codificato in formato HTML per evitare vulnerabilità di sicurezza di scripting tra siti per il destinatario del messaggio.

È possibile utilizzare l'evento SendingMail per modificare l'oggetto MailMessage creato dall'oggetto MailDefinition.

Importante

L'invio di nomi di account utente o password tramite posta elettronica è una potenziale minaccia per la sicurezza. I messaggi di posta elettronica vengono in genere inviati in testo normale e possono essere letti da applicazioni speciali di "sniffing" di rete. Per migliorare la sicurezza, usare le mitigazioni descritte in Protezione dei controlli di accesso.

Questa proprietà non può essere impostata in base a temi o temi del foglio di stile. Per altre informazioni, vedere ThemeableAttribute e ASP.NET Temi e interfacce.

Si applica a

Vedi anche