次の方法で共有


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.Subjectなど) の形式でプログラムで設定することもできます。

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

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

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

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

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

大事な

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

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

適用対象

こちらもご覧ください