This article was translated by machine. To view in the article in English, select the English check box. You can also display the English text in a popup window by moving the mouse pointer over the text.
الترجمة
الأصلي
This documentation is archived and is not being maintained.

ChangePassword.SendMailError الحدث

Visual Studio 2010

خاصية كائن سيتم إرسالها إلى خادم SMTP لمعالجة.

مساحة الاسم:  System.Web.UI.WebControls
التجميع:  System.Web (في System.Web.dll)

public event SendMailErrorEventHandler SendMailError
<asp:ChangePassword OnSendMailError="SendMailErrorEventHandler" />

يتم تاريخ الإنشاء رسائل e-بريد فقط عندما SendMailErrorخاصية كائن محدد بواسطة نقاط الخاصية إلى اسم ملف صالح. يرفع smtpحدث عند e-بريد لا يمكن إرسال رسالة إلى مستخدم. For more information about the smtp section, see <smtp>.

السبب الأكثر شيوعاً هو إلى خطأ تكوين في SendMailErrorمقطع في ملف ويب.config. You must التعيين the SendMailError خاصية of the كائن passed كـ the Handled معلمة إلى SendMailErrorEventArgs إلى signal that the ‏‏ استثناء has been taken care of; otherwise, the ‏‏ استثناء هو تم طرح again. true

للحصول على مزيد من المعلومات حول معالجة الأحداث، راجع معالجة و إظهار الأحداث.

يوضح المثال تعليمات برمجية التالي صفحة ASP.NET التي تستخدم ChangePasswordويب عنصر التحكم، و يتضمن hوler حدث SendingMailتسمية الحدث SendingMail. تعليمات برمجية بفرض أنه تم تكوين موقع ويب ASP.NET لاستخدام عضوية ASP.NET ومصادقة النماذج، وإنشاء مستخدم بتعرف اسم وكلمة المرور الخاصة به إليك. لمزيد من المعلومات، راجع كيفية: تنفيذ مصادقة النماذج البسيطة.

يحصل عنصر التحكم الذي العمود عضو في. SendingMailعنصر التحكم الذي العمود عضو في. لمعلومات حول كيفية إلى تكوين الخادم SMTP، راجع كيفية: تثبيت وتكوين الملقمات الظاهرية SMTP في IIS 6.0. لأغراض th هو المثال، فإنه هو غير الضرورية لتكوين الخادم SMTP; المثال هو بناء اختبار لأي فشل في يرسل رسالة بريد إلكتروني.

إذا كان ملقم بريد هو غير مكون بشكل صحيح أو حدوث بعض خطأ آخر ورسالة بريد إلكتروني لا يمكن إرسال، SendMailErrorدالة هو تسمى. رسالة هو dهوplayed للمستخدم. بالإضافة إلى ذلك، حدث هو تسجيل يسجل أحداث تطبيق Windows بافتراض أن مصدر حدث المسمى MySamplesSite exهوts مسبقاً. انظر تعليمات برمجية المثال أدناه لإنشاء مصدر حدث المحدد. لمزيد من المعلومات حول إنشاء حدث المصدر، راجع حدث ملقم المعالجة في صفحات ويب ASP.NET. Handled خاصية SendMailErrorEventArgsالكائن هو تعيين إلى trueللإشارة إلى معالجة الخطأ.


<%@ Page Language="C#" AutoEventWireup="True" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  void MySendingMail(object sender, MailMessageEventArgs e)
  {
    Message1.Text = "Sent mail to you to confirm the password change.";
  }

  void MySendMailError(object sender, SendMailErrorEventArgs e)
  {
    Message1.Text = "Could not send email to confirm password change.";

    // The MySamplesSite event source has already been created by an administrator.
    System.Diagnostics.EventLog myLog = new System.Diagnostics.EventLog();
    myLog.Log = "Application";
    myLog.Source = "MySamplesSite";
    myLog.WriteEntry(
        "Sending mail via SMTP failed with the following error: " + 
        e.Exception.Message.ToString(), 
        System.Diagnostics.EventLogEntryType.Error);

    e.Handled = true;
  }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
  <title>ChangePassword including a SendMailError Event</title>
</head>
<body>
  <form id="form1" runat="server">
  <div style="text-align:center">

    <h1>ChangePassword</h1>

    <asp:LoginView ID="LoginView1" Runat="server" 
      Visible="true">
      <LoggedInTemplate>
        <asp:LoginName ID="LoginName1" Runat="server" FormatString="You are logged in as {0}." />
        <br />
      </LoggedInTemplate>
      <AnonymousTemplate>
        You are not logged in
      </AnonymousTemplate>
    </asp:LoginView><br />

    <asp:ChangePassword ID="ChangePassword1" Runat="server"
      BorderStyle="Solid" 
      BorderWidth="1" 
      CancelDestinationPageUrl="~/Default.aspx" 
      DisplayUserName="true"
      OnSendingMail="MySendingMail" 
      OnSendMailError="MySendMailError" 
      ContinueDestinationPageUrl="~/Default.aspx" >
      <MailDefinition 
        BodyFileName="~\MailFiles\ChangePasswordMail.htm" 
        Subject="Activity information for you">
        <EmbeddedObjects>
          <asp:EmbeddedMailObject Name="LoginGif" Path="~\MailFiles\Login.gif" />
          <asp:EmbeddedMailObject Name="PrivacyNoticeTxt" Path="~\MailFiles\PrivacyNotice.txt" />
        </EmbeddedObjects>
      </MailDefinition>
    </asp:ChangePassword><br />

    <asp:Label ID="Message1" Runat="server" ForeColor="Red" /><br />

    <asp:HyperLink ID="HyperLink1" Runat="server" 
      NavigateUrl="~/Default.aspx">
      Home
    </asp:HyperLink>

  </div>
  </form>
</body>
</html>


استخدم التالي تعليمات برمجية المثال إذا كنت بحاجة لإضافة مصدر حدث بشكل برمجي المسمى MySamplesSite إلى يسجل التطبيقات الخاص بك. يجب أن يكون موجوداً مصدر حدث هذا من أجل الأولى تعليمات برمجية مثال للعمل بشكل صحيح. يلي تعليمات برمجية المثال تتطلب امتيازات المسؤول.


#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());
            }
        }
    }
}


الحصول أو تعيين عنوان النجاح عرض.

ملاحظة الأمانملاحظة الأمان

إرسال أسماء حسابات المستخدمين أو كلمات المرور عبر e-بريد هو خطرا على الأمان محتملة. رسائل بريد إلكتروني يتم عادة إرسال كنص عادي ويمكن قراءتها بشبكة خاص "التعرف" على من التطبيقات. إلى تحسين الأمان، استخدم mitigations التي تم شرحها في تأمين عناصر تحكم تسجيل الدخول.

<html>
<head><title></title></head>
<body>
<form>

  <h1>Your password for the account named &quot;<%Username%>&quot; 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>

نظام التشغيل Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, الإصدار x64 من نظام التشغيل Windows XP Professional, Windows XP Starter Edition, Windows Server 2008, نظام التشغيل Windows Server 2003, نظام التشغيل Windows Server 2000 المزود بحزمة الخدمة SP4, نظام التشغيل Windows Millennium Edition, نظام التشغيل Windows 98

لا يدعم .NET Framework و .NET Compact Framework كافة الإصدارات الخاصة بكل نظام أساسي. للحصول على قائمة بالإصدارات المدعمة، راجع متطلبات النظام إطار عمل .NET.

.NET Framework

مدعوم في: 4, 3.5, 3.0, 2.0

إظهار: