CreateUserWizard.OnSendMailError(SendMailErrorEventArgs) メソッド

定義

電子メールを新規ユーザーに送信できない場合に、SendMailError イベントを発生させます。Raises the SendMailError event when email cannot be sent to the new user.

protected:
 virtual void OnSendMailError(System::Web::UI::WebControls::SendMailErrorEventArgs ^ e);
protected virtual void OnSendMailError (System.Web.UI.WebControls.SendMailErrorEventArgs e);
abstract member OnSendMailError : System.Web.UI.WebControls.SendMailErrorEventArgs -> unit
override this.OnSendMailError : System.Web.UI.WebControls.SendMailErrorEventArgs -> unit
Protected Overridable Sub OnSendMailError (e As SendMailErrorEventArgs)

パラメーター

e
SendMailErrorEventArgs

イベント データを格納している SendMailErrorEventArgsA SendMailErrorEventArgs containing the event data.

次のコード例では、 CreateUserWizard電子メールエラーをサイト固有のログ機能に記録するカスタムオブジェクトを定義します。The following code example defines a custom CreateUserWizard object that logs email errors to a site-specific logging function.

using System;
using System.Web;
using System.Web.UI.WebControls;
using System.Security.Permissions;

namespace Samples.AspNet.CS.Controls {

  [AspNetHostingPermission (SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Minimal)]
  [AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
  public class CustomCreateUserWizard : CreateUserWizard
  {
    private void SiteSpecificErrorLoggingProcedure (SendMailErrorEventArgs e)
    {
      // Site-specific code for logging email errors goes here.
    }

    protected override void OnSendMailError (SendMailErrorEventArgs e)
    {
      this.SiteSpecificErrorLoggingProcedure (e);
      e.Handled = true;
    }
  }
}
Imports System.Web
Imports System.Web.UI.WebControls
Imports System.Security.Permissions

Namespace Samples.AspNet.VB.Controls
  <AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Minimal)> _
  <AspNetHostingPermission(SecurityAction.InheritanceDemand, Level:=AspNetHostingPermissionLevel.Minimal)> _
    Public Class CustomCreateUserWizard
    Inherits CreateUserWizard

    Private Sub SiteSpecificErrorLoggingProcedure(ByVal e As SendMailErrorEventArgs)
      ' Site-specific code for logging email errors goes here.
    End Sub
    
    Overloads Sub OnSendMailError(ByVal e As SendMailErrorEventArgs)
      Me.SiteSpecificErrorLoggingProcedure(e)
      e.Handled = True
    End Sub
  End Class
End Namespace

次のコード例は、 CustomCreateUserWizardを使用する Web ページを示しています。The following code example demonstrates a Web page that uses the CustomCreateUserWizard.

<%@ Page Language="C#"%>
<%@ Import namespace="Samples.AspNet.CS.Controls" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
  void Page_Load (object sender, EventArgs e)
  {
    CustomCreateUserWizard createUser = new CustomCreateUserWizard ();
    Placeholder1.Controls.Add (createUser);
  }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>CreateUserWizard.OnSendMailError sample</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:placeholder id="Placeholder1" runat="server">
      </asp:placeholder>
    </div>
    </form>
</body>
</html>
<%@ Page Language="VB"%>
<%@ Import namespace="Samples.AspNet.VB.Controls" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
  Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
    Dim createUser As New CustomCreateUserWizard
    Placeholder1.Controls.Add(createUser)
  End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>
      CreateUserWizard.OnSendMailError sample</title>
  </head>
  <body>
    <form id="form1" runat="server">
      <div>
        <asp:placeholder id="Placeholder1" runat="server">
        </asp:placeholder>
      </div>
    </form>
  </body>
</html>

注釈

メソッドOnSendMailErrorは、新しいユーザーに電子メールを送信しようとしているときに、SMTP メールシステムが例外を発生させたときに呼び出されます。The OnSendMailError method is called when the SMTP mail system raises an exception while attempting to send email to the new user.

パラメーターとして渡さSendMailErrorEventArgsれたオブジェクトのプロパティを調べて、例外の実際の原因を特定します。Exception eExamine the Exception property of the SendMailErrorEventArgs object passed as the e parameter to determine the actual cause of the exception. 最も一般的な問題は、web.config ファイルの<smtpMail>セクションに構成エラーがあることです。The most common problem is a configuration error in the <smtpMail> section of the Web.config file.

メソッドの呼び出しのHandled原因となっSendMailErrorEventArgsた例外が処理eされたことを通知するために、パラメーターとして渡されるオブジェクトのプロパティを設定する必要があります。そうしないと、例外が再スローされます。 OnSendMailErrorYou must set the Handled property of the SendMailErrorEventArgs object passed as the e parameter to signal that the exception that caused the OnSendMailError method to be called has been taken care of, otherwise the exception is re-thrown.

イベントを発生させると、イベント ハンドラーがデリゲートから呼び出されます。Raising an event invokes the event handler through a delegate. 詳細については、次を参照してください。処理とイベントの発生します。For more information, see Handling and Raising Events.

OnSendMailError メソッドを使用すると、デリゲートを結び付けずに、派生クラスでイベントを処理することもできます。The OnSendMailError method also allows derived classes to handle the event without attaching a delegate. 派生クラスでイベントを処理する場合は、この手法をお勧めします。This is the preferred technique for handling the event in a derived class.

注意 (継承者)

派生クラスOnSendMailError(SendMailErrorEventArgs)でをオーバーライドする場合は、登録されているデリゲートOnSendMailError(SendMailErrorEventArgs)がイベントを受け取るように、基本クラスのメソッドを呼び出す必要があります。When overriding OnSendMailError(SendMailErrorEventArgs) in a derived class, be sure to call the base class' OnSendMailError(SendMailErrorEventArgs) method so that registered delegates receive the event.

適用対象

こちらもご覧ください