EmbeddedMailObjectsCollection Classe

Definizione

Rappresenta un set ordinato di oggetti EmbeddedMailObject.Represents an ordered set of EmbeddedMailObject objects.

public ref class EmbeddedMailObjectsCollection sealed : System::Collections::CollectionBase
public sealed class EmbeddedMailObjectsCollection : System.Collections.CollectionBase
type EmbeddedMailObjectsCollection = class
    inherit CollectionBase
Public NotInheritable Class EmbeddedMailObjectsCollection
Inherits CollectionBase
Ereditarietà
EmbeddedMailObjectsCollection

Esempi

Nell'esempio di codice seguente viene illustrata una pagina ASP.NET che utilizza un controllo Web ChangePassword e include un gestore eventi per l'evento SendingMail denominato SendingMail.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. Nell'esempio di codice si presuppone che il sito Web ASP.NET sia stato configurato per utilizzare l'appartenenza ASP.NET e l'autenticazione basata su form e che sia stato creato un utente il cui nome e password sono noti.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. Per altre informazioni, vedere [Procedura: Implementare l'autenticazione basata su form semplice @ no__t-0.For more information, see How to: Implement Simple Forms Authentication.

Se la modifica della password ha esito positivo, il codice nel gestore dell'evento SendingMail tenta di inviare un messaggio di posta elettronica all'utente per confermare la modifica.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. Per consentire il funzionamento di questo esempio di codice, è necessario che nel server sia già configurato SMTP.SMTP must already be configured on the server in order for this code example to work. Per informazioni su come configurare un server SMTP, vedere [How per: Installare e configurare i server virtuali SMTP 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. Ai fini di questo esempio, non è necessario configurare un server SMTP. L'esempio viene costruito per verificare la mancata trasmissione di un messaggio di posta elettronica.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.

Se un server di posta non è configurato correttamente o si verifica un altro errore e non è possibile inviare il messaggio di posta elettronica, viene chiamata la funzione SendMailError.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. Viene visualizzato un messaggio all'utente.A message is displayed to the user. Inoltre, viene registrato un evento nel registro eventi applicazioni di Windows con il presupposto che esista già un'origine evento denominata MySamplesSite.In addition, an event is logged to the Windows Application event log with the assumption that an event source named MySamplesSite already exists. Vedere l'esempio di codice seguente per creare l'origine evento specificata.See the code example below to create the specified event source. Per ulteriori informazioni sulla creazione di un'origine eventi, vedere gestione degli eventi del server nelle pagine Web form ASP.NET.For more information about creating an event source, see Server Event Handling in ASP.NET Web Forms Pages. La proprietà Handled dell'oggetto SendMailErrorEventArgs è impostata su true per indicare che l'errore è stato gestito.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>

Usare l'esempio di codice seguente se è necessario aggiungere a livello di codice l'origine evento denominata MySamplesSite al log applicazioni.Use the following code example if you need to programmatically add the event source named MySamplesSite to your Application log. Questa origine evento deve esistere affinché il primo esempio di codice funzioni correttamente.This event source must exist in order for the first code example to work correctly. Nell'esempio di codice seguente sono necessari i privilegi di amministratore.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

Il codice di esempio seguente può essere usato come file ChangePasswordMail. htm per il codice di esempio precedente.The following example code can be used as the ChangePasswordMail.htm file for the preceding example code.

Importante

L'invio di nomi di account utente o password nella posta elettronica costituisce una potenziale minaccia per la sicurezza.Sending user account names or passwords in email is a potential security threat. I messaggi di posta elettronica vengono in genere inviati in testo normale e possono essere letti da applicazioni di "sniffing" di rete speciali.Email messages are typically sent in plain text and can be read by special network "sniffing" applications. Per migliorare la sicurezza, utilizzare le mitigazioni descritte in protezione dei controlli di accesso.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>  

Commenti

Il EmbeddedMailObjectsCollection archivia i riferimenti agli elementi che verranno incorporati in un messaggio di posta elettronica.The EmbeddedMailObjectsCollection stores references to items that will be embedded in an email message. Gli elementi incorporati possono essere file di immagine, ad esempio logo della società.The embedded items can be image files such as company logos. Il EmbeddedMailObjectsCollection viene usato dalla proprietà EmbeddedObjects dell'oggetto MailDefinition.The EmbeddedMailObjectsCollection is used by the EmbeddedObjects property of the MailDefinition object.

I messaggi di posta elettronica che consentono oggetti incorporati possono essere configurati nei seguenti controlli Web impostando le relative proprietà MailDefinition in modo dichiarativo:Email messages that allow embedded objects are configurable in the following Web controls by setting their MailDefinition properties declaratively:

Nota

I valori negli oggetti EmbeddedMailObject e EmbeddedMailObjectsCollection non vengono archiviati in stato di visualizzazione.The values in the EmbeddedMailObject and EmbeddedMailObjectsCollection objects are not stored in view state. Ciò impedisce agli utenti malintenzionati di individuare le informazioni sul percorso per il server.This protects against malicious users discovering path information for your server.

Costruttori

EmbeddedMailObjectsCollection()

Inizializza una nuova istanza della classe EmbeddedMailObjectsCollection.Initializes a new instance of the EmbeddedMailObjectsCollection class.

Proprietà

Capacity

Ottiene o imposta il numero di elementi che CollectionBase può contenere.Gets or sets the number of elements that the CollectionBase can contain.

(Ereditato da CollectionBase)
Count

Ottiene il numero di elementi contenuti nell'istanza di CollectionBase.Gets the number of elements contained in the CollectionBase instance. Questa proprietà non può essere sottoposta a override.This property cannot be overridden.

(Ereditato da CollectionBase)
InnerList

Ottiene un ArrayList contenente l'elenco degli elementi presenti nell'istanza CollectionBase.Gets an ArrayList containing the list of elements in the CollectionBase instance.

(Ereditato da CollectionBase)
Item[Int32]

Restituisce un elemento specifico di un oggetto EmbeddedMailObjectsCollection, identificato dalla relativa posizione.Returns a specific element of a EmbeddedMailObjectsCollection, identified by its position.

List

Ottiene un IList contenente l'elenco degli elementi presenti nell'istanza CollectionBase.Gets an IList containing the list of elements in the CollectionBase instance.

(Ereditato da CollectionBase)

Metodi

Add(EmbeddedMailObject)

Aggiunge un oggetto EmbeddedMailObject alla fine dell'insieme EmbeddedMailObjectsCollection.Adds an EmbeddedMailObject to the end of the EmbeddedMailObjectsCollection collection.

Clear()

Consente di rimuovere tutti gli oggetti dall'istanza CollectionBase.Removes all objects from the CollectionBase instance. Questo metodo non può essere sottoposto a override.This method cannot be overridden.

(Ereditato da CollectionBase)
Contains(EmbeddedMailObject)

Determina se EmbeddedMailObjectsCollection contiene un oggetto EmbeddedMailObject specifico.Determines whether the EmbeddedMailObjectsCollection contains a specific EmbeddedMailObject.

CopyTo(EmbeddedMailObject[], Int32)

Copia gli oggetti dell'insieme in un'istanza Array unidimensionale a partire dall'indice specificato nella matrice.Copies the collection objects to a one-dimensional Array instance beginning at the specified index in the array.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
GetEnumerator()

Restituisce un enumeratore per lo scorrimento dell'istanza di CollectionBase.Returns an enumerator that iterates through the CollectionBase instance.

(Ereditato da CollectionBase)
GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
IndexOf(EmbeddedMailObject)

Determina l'indice di un oggetto EmbeddedMailObject specifico in EmbeddedMailObjectsCollection.Determines the index of a specific EmbeddedMailObject in the EmbeddedMailObjectsCollection.

Insert(Int32, EmbeddedMailObject)

Inserisce un oggetto EmbeddedMailObject nell'oggetto EmbeddedMailObjectsCollection in corrispondenza della posizione di indice specificata.Inserts an EmbeddedMailObject into the EmbeddedMailObjectsCollection object at the specified index position.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
OnClear()

Esegue processi personalizzati aggiuntivi quando viene cancellato il contenuto dell'istanza di CollectionBase.Performs additional custom processes when clearing the contents of the CollectionBase instance.

(Ereditato da CollectionBase)
OnClearComplete()

Esegue procedure personalizzate aggiuntive prima di cancellare il contenuto dell'istanza di CollectionBase.Performs additional custom processes after clearing the contents of the CollectionBase instance.

(Ereditato da CollectionBase)
OnInsert(Int32, Object)

Esegue procedure personalizzate aggiuntive prima di inserire un nuovo elemento nell'istanza di CollectionBase.Performs additional custom processes before inserting a new element into the CollectionBase instance.

(Ereditato da CollectionBase)
OnInsertComplete(Int32, Object)

Esegue procedure personalizzate aggiuntive dopo aver inserito un nuovo elemento nell'istanza di CollectionBase.Performs additional custom processes after inserting a new element into the CollectionBase instance.

(Ereditato da CollectionBase)
OnRemove(Int32, Object)

Consente di eseguire procedure personalizzate aggiuntive durante l'eliminazione di un elemento dall'istanza CollectionBase.Performs additional custom processes when removing an element from the CollectionBase instance.

(Ereditato da CollectionBase)
OnRemoveComplete(Int32, Object)

Esegue procedure personalizzate aggiuntive dopo della rimozione di un elemento dall'istanza di CollectionBase.Performs additional custom processes after removing an element from the CollectionBase instance.

(Ereditato da CollectionBase)
OnSet(Int32, Object, Object)

Esegue procedure personalizzate aggiuntive prima di impostare un valore nell'istanza di CollectionBase.Performs additional custom processes before setting a value in the CollectionBase instance.

(Ereditato da CollectionBase)
OnSetComplete(Int32, Object, Object)

Esegue procedure personalizzate aggiuntive dopo aver impostato un valore nell'istanza di CollectionBase.Performs additional custom processes after setting a value in the CollectionBase instance.

(Ereditato da CollectionBase)
OnValidate(Object)

Esegue processi personalizzati aggiuntivi durante la convalida di un valore.Performs additional custom processes when validating a value.

(Ereditato da CollectionBase)
Remove(EmbeddedMailObject)

Rimuove la prima occorrenza dell'oggetto EmbeddedMailObject specificato da EmbeddedMailObjectsCollection.Removes the first occurrence of the specified EmbeddedMailObject from the EmbeddedMailObjectsCollection.

RemoveAt(Int32)

Consente di rimuovere la voce in corrispondenza dell'indice specificato dell'istanza CollectionBase.Removes the element at the specified index of the CollectionBase instance. Questo metodo non può essere sottoposto a override.This method is not overridable.

(Ereditato da CollectionBase)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

ICollection.CopyTo(Array, Int32)

Copia l'intero oggetto CollectionBase in un oggetto Array compatibile unidimensionale, a partire dall'indice specificato della matrice di destinazione.Copies the entire CollectionBase to a compatible one-dimensional Array, starting at the specified index of the target array.

(Ereditato da CollectionBase)
ICollection.IsSynchronized

Ottiene un valore che indica se l'accesso a CollectionBase è sincronizzato (thread-safe).Gets a value indicating whether access to the CollectionBase is synchronized (thread safe).

(Ereditato da CollectionBase)
ICollection.SyncRoot

Ottiene un oggetto che può essere usato per sincronizzare l'accesso a CollectionBase.Gets an object that can be used to synchronize access to the CollectionBase.

(Ereditato da CollectionBase)
IList.Add(Object)

Aggiunge un oggetto alla fine di CollectionBase.Adds an object to the end of the CollectionBase.

(Ereditato da CollectionBase)
IList.Contains(Object)

Consente di stabilire se CollectionBase contiene un elemento specifico.Determines whether the CollectionBase contains a specific element.

(Ereditato da CollectionBase)
IList.IndexOf(Object)

Cerca l'oggetto Object specificato e restituisce l'indice in base zero della prima occorrenza all'interno dell'intero CollectionBase.Searches for the specified Object and returns the zero-based index of the first occurrence within the entire CollectionBase.

(Ereditato da CollectionBase)
IList.Insert(Int32, Object)

Inserisce un elemento in CollectionBase in corrispondenza dell'indice specificato.Inserts an element into the CollectionBase at the specified index.

(Ereditato da CollectionBase)
IList.IsFixedSize

Ottiene un valore che indica se CollectionBase ha dimensioni fisse.Gets a value indicating whether the CollectionBase has a fixed size.

(Ereditato da CollectionBase)
IList.IsReadOnly

Ottiene un valore che indica se CollectionBase è di sola lettura.Gets a value indicating whether the CollectionBase is read-only.

(Ereditato da CollectionBase)
IList.Item[Int32]

Ottiene o imposta l'elemento in corrispondenza dell'indice specificato.Gets or sets the element at the specified index.

(Ereditato da CollectionBase)
IList.Remove(Object)

Rimuove la prima occorrenza di un oggetto specifico da CollectionBase.Removes the first occurrence of a specific object from the CollectionBase.

(Ereditato da CollectionBase)

Metodi di estensione

Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un oggetto IEnumerable nel tipo specificato.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtra gli elementi di un oggetto IEnumerable in base a un tipo specificato.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Consente la parallelizzazione di una query.Enables parallelization of a query.

AsQueryable(IEnumerable)

Converte un oggetto IEnumerable in un oggetto IQueryable.Converts an IEnumerable to an IQueryable.

Si applica a

Vedi anche