다음을 통해 공유


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.0SMTP 가상 서버 설치 및 구성을 참조하세요.

<%@ 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 개체의 속성을 설정할 수 있습니다. 이러한 속성은 양식 속성-하위 속성설정할 수 있습니다. 여기서 하위 속성MailDefinition 클래스의 속성(예: MailDefinition-Subject)을 나타냅니다. 속성하위 속성 형식(예:)에서 프로그래밍 방식으로 속성을 설정할 수도 있습니다.

전자 메일 메시지는 사용자에게 멤버 자격 공급자에 등록된 전자 메일 주소가 있고 MailDefinition 속성의 BodyFileName 속성이 유효한 파일을 가리키는 경우에만 전송됩니다. BodyFileName 속성이 설정된 경우 From 속성을 전자 메일 주소로 설정해야 합니다. 그렇지 않으면 HttpException 예외가 throw됩니다.

MailDefinition 개체에서 전자 메일 메시지를 만들면 다음 표에 표시된 대체 항목이 만들어집니다. 대체 텍스트는 대/소문자를 구분하지 않습니다.

대체 텍스트 다음으로 대체됨
<%UserName%> 사용자의 웹 사이트 사용자 이름입니다.
<%암호%> 사용자의 새 암호입니다.

MailDefinition 개체의 IsBodyHtml 속성이 true경우 메시지 수신자의 사이트 간 스크립팅 보안 취약성을 방지하도록 메일 메시지의 내용이 HTML로 인코딩됩니다.

SendingMail 이벤트를 사용하여 MailDefinition 개체에서 만든 MailMessage 개체를 수정할 수 있습니다.

중요하다

사용자 계정 이름 또는 암호를 전자 메일로 보내는 것은 잠재적인 보안 위협입니다. 전자 메일 메시지는 일반적으로 일반 텍스트로 전송되며 특수 네트워크 "스니핑" 애플리케이션에서 읽을 수 있습니다. 보안을 향상하려면 로그인 컨트롤 보안설명된 완화를 사용합니다.

이 속성은 테마 또는 스타일시트 테마로 설정할 수 없습니다. 자세한 내용은 ThemeableAttributeASP.NET 테마 및 스킨참조하세요.

적용 대상

추가 정보