語言

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 物件屬性。 你可以將這些屬性設為 property-(property)子屬性,其中 subproperty 代表類別的MailDefinition一個屬性(例如,MailDefinition-Subject)。 你也可以以程式化的方式設定屬性,例如「屬性子屬性」(Property.Subproperty)。MailDefinition.Subject

只有當使用者已在會員提供者註冊電子郵件地址,且BodyFileNameMailDefinition該屬性指向有效檔案時,才會發送電子郵件。 如果設定了 BodyFileName 屬性, From 必須設定為電子郵件地址;否則會 HttpException 拋出例外。

如果電子郵件是從物件 MailDefinition 建立的,它會進行下表所示的替換。 替代文字不區分大小寫。

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

若IsBodyHtmlMailDefinition物件屬性為 true,郵件內容將以 HTML 編碼,以防止跨站腳本安全漏洞對收件人不利。

你可以用事件 SendingMail 來修改 MailMessage 由 MailDefinition 該物件建立的物件。

Important

在電子郵件中傳送使用者帳號名稱或密碼可能構成安全威脅。 電子郵件通常以純文字傳送,並可由特殊的網路「嗅探」應用程式讀取。 為了提升安全性,請使用《 安全登入控制》中所述的緩解措施。

此屬性無法由主題或樣式表主題設定。 更多資訊請參閱 ThemeableAttribute 並 ASP.NET 主題與皮膚。

適用於

另請參閱