EmbeddedMailObject EmbeddedMailObject EmbeddedMailObject EmbeddedMailObject Class

Definition

Stellt ein Element dar, das in eine E-Mail eingebettet werden soll, die mit der MailDefinition-Klasse erstellt wurde.Represents an item to embed in an email message constructed using the MailDefinition class.

public ref class EmbeddedMailObject sealed
[System.ComponentModel.TypeConverter(typeof(System.Web.UI.WebControls.EmbeddedMailObject/EmbeddedMailObjectTypeConverter))]
public sealed class EmbeddedMailObject
type EmbeddedMailObject = class
Public NotInheritable Class EmbeddedMailObject
Vererbung
EmbeddedMailObjectEmbeddedMailObjectEmbeddedMailObjectEmbeddedMailObject
Attribute

Beispiele

Im folgenden Codebeispiel wird eine ASP.NET-Seite veranschaulicht, die ein ChangePassword-websteuer Element verwendet und einen Ereignishandler für das SendingMail-Ereignis mit dem Namen SendingMail enthält.The following code example demonstrates an ASP.NET page that uses a ChangePassword Web control, and includes an event handler for the SendingMail event named SendingMail. Im Codebeispiel wird davon ausgegangen, dass die ASP.NET-Website für die Verwendung der ASP.NET-Mitgliedschaft und Formular Authentifizierung konfiguriert wurde und dass ein Benutzer erstellt wurde, dessen Name und Kennwort Ihnen bekannt sind.The code example assumes that the ASP.NET Web site has been configured to use ASP.NET membership and Forms authentication, and that a user has been created whose name and password are known to you. Weitere Informationen finden Sie unter [Vorgehensweise: Implementieren Sie die einfache Formular Authentifizierung @ no__t-0.For more information, see How to: Implement Simple Forms Authentication.

Wenn die Kenn Wort Änderung erfolgreich ist, versucht der Code im SendingMail-Ereignishandler, eine e-Mail-Nachricht an den Benutzer zu senden, um die Änderung zu bestätigen.If the password change succeeds, the code in the SendingMail event handler attempts to send an email message to the user to confirm the change. SMTP muss bereits auf dem Server konfiguriert sein, damit dieses Codebeispiel funktioniert.SMTP must already be configured on the server in order for this code example to work. Informationen zum Konfigurieren eines SMTP-Servers finden Sie unter [gewusst wie: Installieren und Konfigurieren virtueller SMTP-Server in IIS 6.0 @ no__t-0.For information about how to configure an SMTP server, see How to: Install and Configure SMTP Virtual Servers in IIS 6.0. Im Rahmen dieses Beispiels ist es nicht erforderlich, einen SMTP-Server zu konfigurieren. Das Beispiel wird erstellt, um zu testen, dass ein Fehler beim Senden einer e-Mail-Nachricht vorliegt.For the purposes of this example, it is not necessary to configure an SMTP server; the example is constructed to test for a failure to send an email message.

Wenn ein Mailserver nicht ordnungsgemäß konfiguriert ist oder ein anderer Fehler auftritt und die e-Mail-Nachricht nicht gesendet werden kann, wird die SendMailError-Funktion aufgerufen.If a mail server is not configured correctly or some other error occurs and the email message cannot be sent, the SendMailError function is called. Dem Benutzer wird eine Meldung angezeigt.A message is displayed to the user. Außerdem wird ein Ereignis im Windows-Anwendungs Ereignisprotokoll mit der Annahme protokolliert, dass eine Ereignis Quelle mit dem Namen MySamplesSite bereits vorhanden ist.In addition, an event is logged to the Windows Application event log with the assumption that an event source named MySamplesSite already exists. Weitere Informationen finden Sie im folgenden Codebeispiel, um die angegebene Ereignis Quelle zu erstellen.See the code example below to create the specified event source. Weitere Informationen zum Erstellen einer Ereignis Quelle finden Sie unter Server Ereignis Behandlung auf ASP.net-Web Forms Seiten.For more information about creating an event source, see Server Event Handling in ASP.NET Web Forms Pages. Die Handled-Eigenschaft des SendMailErrorEventArgs-Objekts wird auf true festgelegt, um anzugeben, dass der Fehler behandelt wurde.The Handled property of the SendMailErrorEventArgs object is set to true to indicate that the error has been handled.

<%@ 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>
<%@ Page Language="VB" 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">

  Public Sub MySendingMail(ByVal Sender As Object, ByVal e As MailMessageEventArgs)
    Message1.Text = "Sent mail to you to confirm the password change."
  End Sub

  Public Sub MySendMailError(ByVal Sender As Object, ByVal e As SendMailErrorEventArgs)
    Message1.Text = "Could not send mail to confirm the password change."
    
    ' The MySamplesSite event source has already been created by an administrator.
    Dim myLog As 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
    
  End Sub

</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>

Verwenden Sie das folgende Codebeispiel, wenn Sie die Ereignis Quelle namens MySamplesSite Programm gesteuert dem Anwendungsprotokoll hinzufügen müssen.Use the following code example if you need to programmatically add the event source named MySamplesSite to your Application log. Diese Ereignis Quelle muss vorhanden sein, damit das erste Codebeispiel ordnungsgemäß funktioniert.This event source must exist in order for the first code example to work correctly. Für das folgende Codebeispiel sind Administrator Rechte erforderlich.The following code example requires Administrator privileges.

#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

Der folgende Beispielcode kann als ChangePasswordMail. htm-Datei für den vorangehenden Beispielcode verwendet werden.The following example code can be used as the ChangePasswordMail.htm file for the preceding example code.

Wichtig

Das Senden von Benutzerkonto Namen oder Kenn Wörtern in einer e-Mail ist eine potenzielle Sicherheitsbedrohung.Sending user account names or passwords in email is a potential security threat. E-Mail-Nachrichten werden in der Regel als Klartext gesendet und können von speziellen Netzwerkanwendungen gelesen werden.Email messages are typically sent in plain text and can be read by special network "sniffing" applications. Um die Sicherheit zu verbessern, verwenden Sie die entschärfungen, die unter Sichern von Anmelde Steuerelementenbeschrieben werden.To improve security, use the mitigations that are described in Securing Login Controls.

<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>  
  

Hinweise

Der EmbeddedMailObject stellt ein Element dar, das in eine e-Mail-Nachricht eingebettet wird.The EmbeddedMailObject represents an item to embed in a mail message. Diese eingebetteten Elemente können Bilddateien sein, z. b. Firmenlogos.These embedded items can be image files such as company logos. Jedes eingebettete Element wird durch einen Bezeichner und einen Pfad angegeben.Each embedded item is specified by an identifier and a path.

Um sicherzustellen, dass ein eingebettetes Objekt in der e-Mail-Datei ordnungsgemäß angezeigt wird, müssen die folgenden Bedingungen erfüllt sein:To ensure that an embedded object is displayed correctly within the email message file, the following conditions must be met:

  • Die e-Mail-Nachricht ist im HTML-Format.The mail message is in HTML format.

  • Das Element ist eine Bilddatei (JPG, GIF, BMP usw.).The item is an image file (.jpg, .gif, .bmp, and so on).

  • Die HTML-formatierte Textdatei, die in der BodyFileName-Eigenschaft angegeben ist, enthält einen Verweis auf die Bilddatei mit der folgenden Syntax:The HTML-formatted body file specified in the BodyFileName property contains a reference to the image file using the following syntax:

    <img src="cid:identifier" alt="Alternate Text" />.  
    

Wenn eine EmbeddedMailObject einer e-Mail-Nachricht hinzugefügt wird und nicht alle zuvor angegebenen Anforderungen erfüllt, wird Sie wahrscheinlich als Anlage in der e-Mail-Nachricht angezeigt.If an EmbeddedMailObject is added to a mail message and does not fulfill all of the requirements specified previously, it will most likely be displayed as an attachment in the mail message. Wenn von einem Bezeichner in der e-Mail-Nachricht auf ein Element verwiesen wird, das jedoch nicht als eingebettetes Element eingeschlossen ist, wird es als fehlerhafte Anlage angezeigt, wenn die e-Mail angezeigt wird.If an item is referenced by an identifier in the mail message but not included as an embedded item, it will appear as a broken attachment when the mail is viewed.

Der EmbeddedMailObjectsCollection speichert eine Sammlung von EmbeddedMailObject-Objekten für eine einzelne e-Mail-Nachricht.The EmbeddedMailObjectsCollection stores a collection of EmbeddedMailObject objects for a single mail message. Der EmbeddedMailObjectsCollection wird von der EmbeddedObjects-Eigenschaft des MailDefinition-Objekts verwendet, um die e-Mail-Nachricht zu erstellen.The EmbeddedMailObjectsCollection is used by the EmbeddedObjects property of the MailDefinition object to create the mail message.

E-Mail-Nachrichten, die eingebettete Objekte zulassen, können in den folgenden websteuer Elementen konfiguriert werden, indem ihre MailDefinition-Eigenschaften deklarativMail messages that allow embedded objects are configurable in the following Web controls by setting their MailDefinition properties declaratively:

Hinweis

Die Werte in den Objekten EmbeddedMailObject und EmbeddedMailObjectsCollection werden nicht im Ansichts Zustand gespeichert.The values in the EmbeddedMailObject and EmbeddedMailObjectsCollection objects are not stored in view state. Dies schützt vor böswilligen Benutzern, die Pfadinformationen für Ihren Server ermitteln.This protects against malicious users discovering path information for your server.

Konstruktoren

EmbeddedMailObject() EmbeddedMailObject() EmbeddedMailObject() EmbeddedMailObject()

Initialisiert eine neue Instanz der EmbeddedMailObject-Klasse.Initializes a new instance of the EmbeddedMailObject class.

EmbeddedMailObject(String, String) EmbeddedMailObject(String, String) EmbeddedMailObject(String, String) EmbeddedMailObject(String, String)

Initialisiert eine neue Instanz der EmbeddedMailObject-Klasse unter Verwendung des angegebenen Bezeichnernamens und des angegeben Pfads, um das Objekt aufzufüllen.Initializes a new instance of the EmbeddedMailObject class, using the specified identifier name and path to populate the object.

Eigenschaften

Name Name Name Name

Ruft den als Bezeichner verwendeten Namen des Elements ab, das in die mit der MailDefinition-Klasse konstruierte E-Mail-Nachricht eingebettet werden soll, oder legt diesen fest.Gets or sets the name that is used as the identifier of the item to be embedded in a mail message constructed with the MailDefinition class.

Path Path Path Path

Ruft den Pfad zum Abrufen eines Elements ab, das in eine mit der MailDefinition-Klasse konstruierte E-Mail-Nachricht eingebettet werden soll, oder legt diesen fest.Gets or sets the path that is used to retrieve an item to embed in a mail message constructed with the MailDefinition class.

Methoden

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)

Gilt für:

Siehe auch