Поделиться через


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 приложения. Дополнительные сведения см. в статье Практическое руководство. Установка и настройка виртуальных серверов SMTP в 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 возвращает ссылку на группу свойств, используемых для определения формата и содержимого сообщения электронной почты, отправленного пользователям после изменения пароля. Общие параметры включают строку темы и возвращаемый адрес отправителя. Полный список свойств см. в MailDefinition.

Свойство MailDefinition доступно только для чтения; однако можно задать свойства возвращаемого объекта MailDefinition. Эти свойства можно задать в свойстве формы -вложенных, где вложенный представляет свойство класса MailDefinition (например, MailDefinition-Subject). Вы также можете программно задать свойства в форме Свойства.вложенных (например,MailDefinition.Subject).

Сообщение электронной почты отправляется только в том случае, если у пользователя есть адрес электронной почты, зарегистрированный в поставщике членства, и если свойство BodyFileName свойства MailDefinition указывает на допустимый файл. Если задано свойство BodyFileName, свойство From должно иметь адрес электронной почты; В противном случае создается исключение HttpException.

Если сообщение электронной почты создается из объекта MailDefinition, оно сделает подстановки, показанные в следующей таблице. Текст подстановки не учитывает регистр.

Текст подстановки Заменено на
<%UserName%> Имя пользователя веб-сайта.
<%пароль%> Новый пароль для пользователя.

Если свойство IsBodyHtml объекта MailDefinitiontrue, содержимое почтового сообщения будет закодировано в формате HTML, чтобы защититься от уязвимостей безопасности межстранитовых сценариев для получателя сообщения.

Событие SendingMail можно использовать для изменения объекта MailMessage, созданного объектом MailDefinition.

Важный

Отправка имен учетных записей пользователей или паролей в электронной почте является потенциальной угрозой безопасности. Сообщения электронной почты обычно отправляются в виде обычного текста и могут читаться специальными приложениями сети "sniffing". Чтобы повысить безопасность, используйте способы устранения рисков, описанные в разделе Защита элементов управления именами входа.

Это свойство не может быть задано темами или темами таблицы стилей. Дополнительные сведения см. в разделе ThemeableAttribute и ASP.NET темы и кожи.

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

См. также раздел