ChangePassword.MailDefinition 屬性

定義

取得屬性集合的參考,其定義在使用者變更其密碼後,傳送給使用者的電子郵件訊息。

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

屬性值

物件的參考 MailDefinition ,定義傳送給新使用者的電子郵件訊息。

屬性

例外狀況

From 屬性未設定為電子郵件地址。

範例

下列程式碼範例示範如何使用 MailDefinition 屬性來定義傳送給變更密碼之使用者的電子郵件訊息。 它假設有一個稱為 MailFile.txt 的檔案,其中包含要傳送之電子郵件訊息的文字。

若要能夠將電子郵件訊息傳送給使用者,您必須在應用程式的 Web.config 檔案中設定電子郵件伺服器。 如需詳細資訊,請參閱 如何:在 IIS 6.0 中安裝和設定 SMTP 虛擬伺服器

<%@ 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>

備註

屬性 MailDefinition 會傳回一組屬性的參考,這些屬性可用來定義在使用者變更密碼之後傳送給使用者的電子郵件訊息格式和內容。 常見的設定包括主旨行和寄件者的傳回位址。 如需完整的屬性清單,請參閱 MailDefinition

屬性 MailDefinition 是唯讀的;不過,您可以設定它所傳回之物件的屬性 MailDefinition 。 您可以在表單屬性- 子屬性中設定這些屬性,其中subproperty代表類別的屬性 MailDefinition (MailDefinition-Subject 例如,) 。 您也可以在屬性.子屬性表單中以程式設計方式設定屬性 (,例如, MailDefinition.Subject) 。

只有在使用者有向成員資格提供者註冊的電子郵件地址,而且 BodyFileName 屬性的 MailDefinition 屬性指向有效的檔案時,才會傳送電子郵件訊息。 BodyFileName如果已設定 屬性,則必須將 From 屬性設定為電子郵件地址, HttpException 否則會擲回例外狀況。

如果從 物件建立 MailDefinition 電子郵件訊息,則會進行下表所示的替代專案。 替代文字不區分大小寫。

替代文字 取代為
<%UserName%> 使用者的網站使用者名稱。
< %Password% > 使用者的新密碼。

IsBodyHtml如果 物件的 屬性 MailDefinitiontrue ,郵件訊息的內容會以 HTML 編碼,以防止郵件收件者的跨網站腳本安全性弱點。

您可以使用 SendingMail 事件來修改 MailMessage 物件所 MailDefinition 建立的物件。

重要

在電子郵件中傳送使用者帳戶名稱或密碼是潛在的安全性威脅。 Email訊息通常會以純文字傳送,而且可由特殊網路「探查」應用程式讀取。 若要改善安全性,請使用 保護登入控制項中所述的防護功能。

這個屬性無法由佈景主題或樣式表主題設定。 如需詳細資訊,請參閱 ThemeableAttributeASP.NET 主題和麵板

適用於

另請參閱