Language

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) を表します。 プロパティは、 Property.Subproperty (MailDefinition.Subject など) 形式でプログラムで設定することもできます。

電子メール メッセージは、ユーザーがメンバーシップ プロバイダーに登録されている電子メール アドレスを持っており、BodyFileName プロパティの MailDefinition プロパティが有効なファイルを指している場合にのみ送信されます。 BodyFileName プロパティが設定されている場合は、From プロパティを電子メール アドレスに設定する必要があります。それ以外の場合は、HttpException例外がスローされます。

電子メール メッセージが MailDefinition オブジェクトから作成された場合、次の表に示す置換が行われます。 置換テキストでは大文字と小文字が区別されません。

置換テキスト 置き換え
< %UserName を>%する ユーザーの Web サイト ユーザー名。
<%パスワード%> ユーザーの新しいパスワード。

IsBodyHtml オブジェクトのMailDefinition プロパティがtrueされている場合、メール メッセージの内容は HTML エンコードされ、メッセージ受信者のクロスサイト スクリプティング セキュリティの脆弱性から保護されます。

SendingMail イベントを使用して、MailMessage オブジェクトによって作成されたMailDefinition オブジェクトを変更できます。

Important

ユーザー アカウント名またはパスワードを電子メールで送信することは、潜在的なセキュリティ上の脅威です。 電子メール メッセージは通常、プレーン テキストで送信され、特殊なネットワーク "スニッフィング" アプリケーションで読み取ることができます。 セキュリティを強化するには、「 ログイン制御のセキュリティ保護」で説明されている軽減策を使用します。

このプロパティは、テーマまたはスタイル シートのテーマでは設定できません。 詳細については、「テーマとスキンの ThemeableAttribute と ASP.NET」を参照してください。

適用対象

こちらもご覧ください