ChangePassword.MailDefinition Свойство

Определение

Возвращает ссылку на коллекцию свойств, определяющих сообщение электронной почты, которое отправляется пользователям после того, как они изменили пароль.Gets a reference to a collection of properties that define the email message that is sent to users after they have changed their password.

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; }
member this.MailDefinition : System.Web.UI.WebControls.MailDefinition
Public ReadOnly Property MailDefinition As MailDefinition

Значение свойства

Ссылка на объект MailDefinition, определяющий сообщение электронной почты, отправленное новому пользователю.A reference to a MailDefinition object that defines the email message sent to a new user.

Атрибуты

Исключения

Свойству From не присвоено значение адреса электронной почты.The From property is not set to an email address.

Примеры

В следующем примере кода показано, как использовать свойство MailDefinition для определения сообщения электронной почты, отправляемого пользователям, которые меняют пароли.The following code example shows how to use the MailDefinition property to define an email message that is sent to users who change their passwords. Предполагается, что имеется файл с именем MailFile.txt, содержащий текст отправляемого сообщения электронной почты.It assumes that there is a file called MailFile.txt that contains the text of the email message to send.

Чтобы иметь возможность отправлять сообщения электронной почты пользователям, необходимо настроить почтовый сервер в файле Web. config для приложения.To be able to send email messages to users, you must configure an email server in the Web.config file for your application. Дополнительные сведения см. в разделе как установить и настроить виртуальные SMTP-серверы в IIS 6,0.For more information, see How to: Install and Configure SMTP Virtual Servers in IIS 6.0.

<%@ 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 возвращает ссылку на группу свойств, используемую для определения формата и содержимого сообщения электронной почты, отправляемого пользователям после изменения пароля.The MailDefinition property returns a reference to a group of properties that you use to define the format and content of the email message sent to users after they have changed their password. Общие параметры включают в себя строку темы и обратный адрес отправителя.Common settings include the subject line and the sender's return address. Полный список свойств см. в описании класса MailDefinition.For a complete list of properties, see MailDefinition.

Свойство MailDefinition доступно только для чтения; Однако можно задать свойства возвращаемого объекта MailDefinition.The MailDefinition property is read-only; however, you can set the properties of the MailDefinition object it returns. Эти свойства можно задать в свойстве формы-подсвойстве, где подсвойство , которое представляет свойство класса MailDefinition (например, MailDefinition-Subject).You can set these properties in the form property-subproperty, where subproperty represents a property of the MailDefinition class (for example, MailDefinition-Subject). Свойства также можно задать программно в свойстве формы.подсвойстве (например,MailDefinition.Subject).You can also set the properties programmatically in the form Property.Subproperty (for example,MailDefinition.Subject).

Сообщение электронной почты отправляется, только если у пользователя есть адрес электронной почты, зарегистрированный в поставщике членства, и если свойство BodyFileName свойства MailDefinition указывает на допустимый файл.An email message is sent only if the user has an email address registered with the membership provider and if the BodyFileName property of the MailDefinition property points to a valid file. Если задано свойство BodyFileName, для свойства From необходимо задать адрес электронной почты. в противном случае выдается исключение HttpException.If the BodyFileName property is set, the From property must be set to an email address; otherwise, an HttpException exception is thrown.

Если сообщение электронной почты создано из объекта MailDefinition, оно будет выполнять подстановки, показанные в следующей таблице.If the email message is created from the MailDefinition object, it will make the substitutions shown in the following table. Текст подстановки не учитывает регистр.The substitution text is case-insensitive.

Текст подстановкиSubstitution text Заменено наReplaced with
<% UserName %><% UserName %> Имя пользователя веб-сайта.The Web site user name of the user.
<% пароля %><% Password %> Новый пароль для пользователя.The new password for the user.

Если свойство IsBodyHtml объекта MailDefinition true, содержимое почтового сообщения будет закодировано в формате HTML, чтобы защититься от уязвимостей межсайтовых сценариев для получателя сообщения.If the IsBodyHtml property of the MailDefinition object is true, the contents of the mail message will be HTML-encoded to guard against cross-site scripting security vulnerabilities for the message recipient.

Для изменения объекта MailMessage, созданного объектом MailDefinition, можно использовать событие SendingMail.You can use the SendingMail event to modify the MailMessage object that is created by the MailDefinition object.

Важно!

Отправка имен учетных записей пользователей или паролей в сообщении электронной почты является потенциальной угрозой безопасности.Sending user account names or passwords in email is a potential security threat. Сообщения электронной почты обычно отправляются в виде обычного текста и могут быть прочитаны специальными сетевыми приложениями «перехвата».Email messages are typically sent in plain text and can be read by special network "sniffing" applications. Для повышения безопасности используйте способы защиты, описанные в статье Защита элементов управления входом.To improve security, use the mitigations that are described in Securing Login Controls.

Значение для данного свойства нельзя задать с помощью тем или тем таблиц стилей.This property cannot be set by themes or style sheet themes. Дополнительные сведения см. в разделе ThemeableAttribute и темы ASP.NET и обложки.For more information, see ThemeableAttribute and ASP.NET Themes and Skins.

Применяется к

Дополнительно