EmbeddedMailObjectsCollection Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Représente un ensemble ordonné d’objets EmbeddedMailObject.
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
- Héritage
Exemples
L’exemple de code suivant illustre une page ASP.NET qui utilise un ChangePassword contrôle Web et inclut un gestionnaire d’événements pour l’événement SendingMail nommé SendingMail
. L’exemple de code suppose que le site Web ASP.NET a été configuré pour utiliser ASP.NET’appartenance et l’authentification par formulaire, et qu’un utilisateur a été créé dont vous connaissez le nom et le mot de passe. Pour plus d’informations, consultez Guide pratique pour implémenter l’authentification par formulaire simple.
Si le changement de mot de passe réussit, le code dans le SendingMail
gestionnaire d’événements tente d’envoyer un message électronique à l’utilisateur pour confirmer la modification. Smtp doit déjà être configuré sur le serveur pour que cet exemple de code fonctionne. Pour plus d’informations sur la configuration d’un serveur SMTP, consultez Guide pratique pour installer et configurer des serveurs virtuels SMTP dans IIS 6.0. Pour les besoins de cet exemple, il n’est pas nécessaire de configurer un serveur SMTP ; L’exemple est construit pour tester l’échec de l’envoi d’un e-mail.
Si un serveur de messagerie n’est pas configuré correctement ou si une autre erreur se produit et que l’e-mail ne peut pas être envoyé, la SendMailError
fonction est appelée. Un message s’affiche à l’utilisateur. En outre, un événement est enregistré dans le journal des événements des applications Windows en supposant qu’une source d’événement nommée MySamplesSite existe déjà. Consultez l’exemple de code ci-dessous pour créer la source d’événement spécifiée. Pour plus d’informations sur la création d’une source d’événement, consultez Gestion des événements serveur dans ASP.NET pages Web Forms. La Handled propriété de l’objet SendMailErrorEventArgs est définie sur true
pour indiquer que l’erreur a été gérée.
<%@ 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>
Utilisez l’exemple de code suivant si vous devez ajouter par programmation la source d’événement nommée MySamplesSite à votre journal des applications. Cette source d’événement doit exister pour que le premier exemple de code fonctionne correctement. L’exemple de code suivant nécessite des privilèges d’administrateur.
#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
L’exemple de code suivant peut être utilisé comme fichier ChangePasswordMail.htm pour l’exemple de code précédent.
Important
L’envoi de noms de compte d’utilisateur ou de mots de passe dans un e-mail est une menace potentielle pour la sécurité. Les messages électroniques sont généralement envoyés en texte brut et peuvent être lus par des applications de « détection » réseau spéciales. Pour améliorer la sécurité, utilisez les atténuations décrites dans Sécurisation des contrôles de connexion.
<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>
Remarques
Stocke EmbeddedMailObjectsCollection les références aux éléments qui seront incorporés dans un e-mail. Les éléments incorporés peuvent être des fichiers image tels que des logos d’entreprise. est EmbeddedMailObjectsCollection utilisé par la EmbeddedObjects propriété de l’objet MailDefinition .
Les messages électroniques qui autorisent les objets incorporés sont configurables dans les contrôles Web suivants en définissant leurs MailDefinition propriétés de manière déclarative :
Notes
Les valeurs des EmbeddedMailObject objets et ne EmbeddedMailObjectsCollection sont pas stockées dans l’état d’affichage. Cela protège contre les utilisateurs malveillants qui découvrent des informations de chemin d’accès pour votre serveur.
Constructeurs
EmbeddedMailObjectsCollection() |
Initialise une nouvelle instance de la classe EmbeddedMailObjectsCollection. |
Propriétés
Capacity |
Obtient ou définit le nombre d'éléments que CollectionBase peut contenir. (Hérité de CollectionBase) |
Count |
Obtient le nombre d'éléments contenus dans l'instance CollectionBase. Cette propriété ne peut pas être remplacée. (Hérité de CollectionBase) |
InnerList |
Obtient ArrayList contenant la liste des éléments dans l'instance de CollectionBase. (Hérité de CollectionBase) |
Item[Int32] |
Retourne un élément spécifique d'un EmbeddedMailObjectsCollection, identifié par sa position. |
List |
Obtient IList contenant la liste des éléments dans l'instance de CollectionBase. (Hérité de CollectionBase) |
Méthodes
Add(EmbeddedMailObject) |
Ajoute un EmbeddedMailObject à la fin de la collection EmbeddedMailObjectsCollection. |
Clear() |
Supprime tous les objets de l'instance de CollectionBase. Cette méthode ne peut pas être substituée. (Hérité de CollectionBase) |
Contains(EmbeddedMailObject) |
Détermine si la EmbeddedMailObjectsCollection contient un EmbeddedMailObject spécifique. |
CopyTo(EmbeddedMailObject[], Int32) |
Copie la collection d'objets dans une instance unidimensionnelle Array en commençant à l'index spécifié dans le tableau. |
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
GetEnumerator() |
Retourne un énumérateur qui itère au sein de l'instance CollectionBase. (Hérité de CollectionBase) |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
IndexOf(EmbeddedMailObject) |
Détermine l'index d'un EmbeddedMailObject spécifique dans EmbeddedMailObjectsCollection. |
Insert(Int32, EmbeddedMailObject) |
Insère un EmbeddedMailObject dans l'objet EmbeddedMailObjectsCollection à la position d'index spécifiée. |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
OnClear() |
Effectue des traitements personnalisés supplémentaires pendant l’effacement du contenu de l’instance de CollectionBase. (Hérité de CollectionBase) |
OnClearComplete() |
Exécute des processus personnalisés supplémentaires après l'effacement du contenu de l'instance de CollectionBase. (Hérité de CollectionBase) |
OnInsert(Int32, Object) |
Exécute les processus personnalisés supplémentaires avant l'insertion d'un nouvel élément dans l'instance de CollectionBase. (Hérité de CollectionBase) |
OnInsertComplete(Int32, Object) |
Exécute les processus personnalisés supplémentaires après l'insertion d'un nouvel élément dans l'instance de CollectionBase. (Hérité de CollectionBase) |
OnRemove(Int32, Object) |
Exécute des processus personnalisés supplémentaires lors de la suppression d'un élément de l'instance de CollectionBase. (Hérité de CollectionBase) |
OnRemoveComplete(Int32, Object) |
Exécute des processus personnalisés supplémentaires après la suppression d'un élément de l'instance de CollectionBase. (Hérité de CollectionBase) |
OnSet(Int32, Object, Object) |
Exécute des processus personnalisés supplémentaires avant la définition d'une valeur dans l'instance de CollectionBase. (Hérité de CollectionBase) |
OnSetComplete(Int32, Object, Object) |
Exécute des processus personnalisés supplémentaires après la définition d'une valeur dans l'instance de CollectionBase. (Hérité de CollectionBase) |
OnValidate(Object) |
Exécute des processus personnalisés supplémentaires lors de la validation d'une valeur. (Hérité de CollectionBase) |
Remove(EmbeddedMailObject) |
Supprime la première occurrence de la classe EmbeddedMailObject spécifiée de EmbeddedMailObjectsCollection. |
RemoveAt(Int32) |
Supprime l'élément à l'index spécifié de l'instance de CollectionBase. Cette méthode n'est pas substituable. (Hérité de CollectionBase) |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |
Implémentations d’interfaces explicites
ICollection.CopyTo(Array, Int32) |
Copie l'ensemble de l'objet CollectionBase vers un objet Array unidimensionnel compatible, en commençant à l'index spécifié du tableau cible. (Hérité de CollectionBase) |
ICollection.IsSynchronized |
Obtient une valeur indiquant si l’accès à CollectionBase est synchronisé (thread-safe). (Hérité de CollectionBase) |
ICollection.SyncRoot |
Obtient un objet qui peut être utilisé pour synchroniser l’accès à CollectionBase. (Hérité de CollectionBase) |
IList.Add(Object) |
Ajoute un objet à la fin de la CollectionBase. (Hérité de CollectionBase) |
IList.Contains(Object) |
Détermine si CollectionBase contient un élément spécifique. (Hérité de CollectionBase) |
IList.IndexOf(Object) |
Recherche le Object spécifié et retourne l’index de base zéro de la première occurrence dans l’ensemble du CollectionBase. (Hérité de CollectionBase) |
IList.Insert(Int32, Object) |
Insère un élément dans la classe CollectionBase au niveau de l'index spécifié. (Hérité de CollectionBase) |
IList.IsFixedSize |
Obtient une valeur indiquant si CollectionBase est de taille fixe. (Hérité de CollectionBase) |
IList.IsReadOnly |
Obtient une valeur indiquant si CollectionBase est en lecture seule. (Hérité de CollectionBase) |
IList.Item[Int32] |
Obtient ou définit l'élément au niveau de l'index spécifié. (Hérité de CollectionBase) |
IList.Remove(Object) |
Supprime la première occurrence d’un objet spécifique de CollectionBase. (Hérité de CollectionBase) |
Méthodes d’extension
Cast<TResult>(IEnumerable) |
Effectue un cast des éléments d'un IEnumerable vers le type spécifié. |
OfType<TResult>(IEnumerable) |
Filtre les éléments d'un IEnumerable en fonction du type spécifié. |
AsParallel(IEnumerable) |
Active la parallélisation d'une requête. |
AsQueryable(IEnumerable) |
Convertit un IEnumerable en IQueryable. |