ChangePassword.OnSendingMail(MailMessageEventArgs) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
SendingMail Vyvolá událost před odesláním e-mailové zprávy na server SMTP ke zpracování. Server SMTP pak odešle e-mailovou zprávu uživateli.
protected:
virtual void OnSendingMail(System::Web::UI::WebControls::MailMessageEventArgs ^ e);
protected virtual void OnSendingMail(System.Web.UI.WebControls.MailMessageEventArgs e);
abstract member OnSendingMail : System.Web.UI.WebControls.MailMessageEventArgs -> unit
override this.OnSendingMail : System.Web.UI.WebControls.MailMessageEventArgs -> unit
Protected Overridable Sub OnSendingMail (e As MailMessageEventArgs)
Parametry
Objekt MailMessageEventArgs obsahující data události.
Příklady
Následující příklad kódu ukazuje ASP.NET stránku, která používá ChangePassword webový ovládací prvek a obsahuje obslužnou rutinu SendingMail události pro událost s názvem SendingMail. Příklad kódu předpokládá, že web ASP.NET byl nakonfigurován tak, aby používal ASP.NET členství a ověřování pomocí formulářů a že byl vytvořen uživatel, jehož jméno a heslo znáte. Další informace naleznete v tématu Postupy: Implementace jednoduchého ověřování pomocí formulářů.
Pokud je změna hesla úspěšná, kód se pokusí použít smtp k odeslání e-mailové zprávy uživateli, aby změnu potvrdil. To se provádí v obslužné rutiněSendingMail události. Informace o konfiguraci serveru SMTP naleznete v tématu Postupy: Instalace a konfigurace virtuálních serverů SMTP ve službě IIS 6.0. Pro účely tohoto příkladu není nutné konfigurovat server SMTP; Příklad je vytvořen tak, aby testoval, že se nepodařilo odeslat e-mailovou zprávu.
Pokud poštovní server není správně nakonfigurovaný nebo dojde k nějaké jiné chybě a e-mailová zpráva se nedá odeslat, SendMailError volá se funkce. Uživateli se zobrazí zpráva. Kromě toho se událost zaprotokoluje do protokolu událostí aplikace systému Windows s předpokladem, že zdroj události s názvem MySamplesSite již existuje. Další informace o vytváření zdroje událostí naleznete v tématu Zpracování událostí serveru na ASP.NET webových formulářů stránky. Vlastnost Handled objektu SendMailErrorEventArgs je nastavena tak, aby true indikovala, že chyba byla zpracována.
Následující příklad kódu použijte, pokud potřebujete programově přidat zdroj události s názvem MySamplesSite do protokolu aplikace. Tento zdroj událostí musí existovat, aby první příklad kódu fungoval správně. Následující příklad kódu vyžaduje oprávnění správce.
#region Using directives
using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
#endregion
namespace CreateEventSource
{
class Program
{
static void Main(string[] args)
{
try
{
// Create the source, if it does not already exist.
if (!EventLog.SourceExists("MySamplesSite"))
{
EventLog.CreateEventSource("MySamplesSite", "Application");
Console.WriteLine("Creating Event Source");
}
// Create an EventLog instance and assign its source.
EventLog myLog = new EventLog();
myLog.Source = "MySamplesSite";
// Write an informational entry to the event log.
myLog.WriteEntry("Testing writing to event log.");
Console.WriteLine("Message written to event log.");
}
catch (Exception e)
{
Console.WriteLine("Exception:");
Console.WriteLine("{0}", e.ToString());
}
}
}
}
Imports System.Collections.Generic
Imports System.Text
Imports System.Diagnostics
Namespace CreateEventSource
Class Program
Sub Main()
Try
' Create the source, if it does not already exist.
If Not (EventLog.SourceExists("MySamplesSite")) Then
EventLog.CreateEventSource("MySamplesSite", "Application")
Console.WriteLine("Creating Event Source")
End If
' Create an EventLog instance and assign its source.
Dim myLog As New EventLog
myLog.Source = "MySamplesSite"
' Write an informational entry to the event log.
myLog.WriteEntry("Testing writing to event log.")
Console.WriteLine("Message written to event log.")
Catch e As Exception
Console.WriteLine("Exception:")
Console.WriteLine(e.ToString)
End Try
End Sub
End Class
End Namespace
Následující příklad kódu lze použít jako ChangePasswordMail.htm soubor pro předchozí ukázkový kód.
Důležité
Posílání jmen uživatelských účtů nebo hesel v e-mailu je potenciální bezpečnostní hrozbou. E-mailové zprávy se obvykle odesílají ve formátu prostého textu a dají se číst speciálními aplikacemi "šifrování" sítě. Pokud chcete zlepšit zabezpečení, použijte zmírnění rizik popsaná v části Zabezpečení přihlašovacích ovládacích prvků.
<html>
<head><title></title></head>
<body>
<form>
<h1>Your password for the account named "<%Username%>" has changed.</h1>
<p>
If you did not initiate this change, please call 1-206-555-0100.
</p>
<p>
<a href="http://www.contoso.com/login.aspx">
<img src="cid:LoginGif" alt="Log In" />
</a>
</p>
<p>
Please read our attached Privacy Notice.
</p>
</form>
</body>
</html>
Poznámky
OnSendingMail Pomocí této metody můžete upravit e-mailovou zprávu odesílanou uživatelům po změně hesla. Vlastnost Message objektu MailMessageEventArgs se odešle na server SMTP ke zpracování. Upravte vlastnosti objektu MailMessage a upravte e-mailovou zprávu.
E-mailové zprávy jsou vytvořeny pouze v případech, BodyFileName kdy vlastnost objektu MailDefinition určená MailDefinition vlastností odkazuje na platný název souboru.
Důležité
Posílání jmen uživatelských účtů nebo hesel v e-mailu je potenciální bezpečnostní hrozbou. E-mailové zprávy se obvykle odesílají ve formátu prostého textu a dají se číst speciálními aplikacemi "šifrování" sítě. Pokud chcete zlepšit zabezpečení, použijte zmírnění rizik popsaná v části Zabezpečení přihlašovacích ovládacích prvků.
Vyvolání události vyvolá obslužnou rutinu události prostřednictvím delegáta. Další informace naleznete v tématu Zpracování událostí serveru na ASP.NET webových formulářů stránky.
Metoda OnSendingMail také umožňuje odvozené třídy zpracovat událost bez připojení delegáta. Toto je upřednostňovaná technika pro zpracování události v odvozené třídě.
Poznámky pro dědice
Při přepsání OnSendingMail(MailMessageEventArgs) metody v odvozené třídě nezapomeňte volat metodu OnSendingMail(MailMessageEventArgs) pro základní třídu, aby registrovaní delegáti obdrželi událost.
Platí pro
Viz také
- OnBubbleEvent(Object, EventArgs)
- SendingMail
- Zpracování událostí serveru na webových stránkách ASP.NET
- Přehled přihlašovacích ovládacích prvků ASP.NET
- Přizpůsobení vzhledu a chování ovládacích prvků přihlášení ASP.NET
- šablony ovládacích prvků webového serveru ASP.NET
- Postupy: Zobrazení různých informací anonymním a přihlášeným uživatelům
- Karta Zabezpečení nástroje pro správu webu
- Zabezpečení přihlašovacích ovládacích prvků
- Základní postupy zabezpečení pro webové aplikace
- Zabezpečení členství